Rules for integrands involving exponentials

1.  ∫u ((((F^(c(a+b x)))))^n)dx

1:  ∫((((F^(c(a+b x)))))^n)dx

Reference: G&R 2.311, CRC 519, A&S 4.2.54

Rule:

∫((((F^(c(a+b x)))))^n)dx  ⟶  (((((F^(c(a+b x)))))^n)/(b c n Log[F]))

Program code:

Int[(F_^(c_.*(a_.+b_.*x_)))^n_.,x_Symbol] :=
  (F^(c*(a+b*x)))^n/(b*c*n*Log[F]) /;
FreeQ[{F,a,b,c,n},x]

2:  ∫(Subscript[P, x])(F^(c v))dx  when  v==a+b x

Derivation: Algebraic expansion

Rule: If  v==a+b x, then

∫(Subscript[P, x])(F^(c v))dx  ⟶  ∫(F^(c (a+b x)))ExpandIntegrand[(Subscript[P, x]),x]dx

Program code:

Int[u_*F_^(c_.*v_),x_Symbol] :=
  Int[ExpandIntegrand[u*F^(c*ExpandToSum[v,x]),x],x] /;
FreeQ[{F,c},x] && PolynomialQ[u,x] && LinearQ[v,x] && TrueQ[$UseGamma]

Int[u_*F_^(c_.*v_),x_Symbol] :=
  Int[ExpandIntegrand[F^(c*ExpandToSum[v,x]),u,x],x] /;
FreeQ[{F,c},x] && PolynomialQ[u,x] && LinearQ[v,x] && Not[TrueQ[$UseGamma]]

3:  ∫(((d+e x))^m)(F^(c (a+b x)))(f+g x)dx  when  e g (m+1)-b c (e f-d g) Log[F]==0

Basis: (∂_x)((F^(f[x])) g[x])==(F^(f[x]))(Log[F]g[x] f'[x]+g'[x])

Rule: If  v==a+b x ∧ u==d+e x ∧ w==f+g x ∧ e g (m+1)-b c (e f-d g) Log[F]==0, then

∫(u^m)(F^(c v))w dx  ⟶  ∫(((d+e x))^m)(F^(c (a+b x)))(f+g x)dx  ⟶  ((g (((d+e x))^(m+1))(F^(c (a+b x))))/(b c e Log[F]))

Program code:

Int[u_^m_.*F_^(c_.*v_)*w_,x_Symbol] :=
  With[{b=Coefficient[v,x,1],d=Coefficient[u,x,0],e=Coefficient[u,x,1],f=Coefficient[w,x,0],g=Coefficient[w,x,1]},
  g*u^(m+1)*F^(c*v)/(b*c*e*Log[F]) /;
 EqQ[e*g*(m+1)-b*c*(e*f-d*g)*Log[F],0]] /;
FreeQ[{F,c,m},x] && LinearQ[{u,v,w},x]

4.  ∫(Subscript[P, x])(u^m)(F^(c v))dx  when  v==a+b x ∧ u==(((d+e x))^n)

1:  ∫(Subscript[P, x])(u^m)(F^(c v))dx  when  v==a+b x ∧ u==(((d+e x))^n) ∧ m∈ℤ

Derivation: Algebraic expansion

Rule: If  v==a+b x ∧ u==(((d+e x))^n) ∧ m∈ℤ, then

∫(Subscript[P, x])(u^m)(F^(c v))dx  ⟶  ∫(F^(c (a+b x)))ExpandIntegrand[(Subscript[P, x])(((d+e x))^(m n)),x]dx

Program code:

Int[w_*u_^m_.*F_^(c_.*v_),x_Symbol] :=
  Int[ExpandIntegrand[w*NormalizePowerOfLinear[u,x]^m*F^(c*ExpandToSum[v,x]),x],x] /;
FreeQ[{F,c},x] && PolynomialQ[w,x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && IntegerQ[m] && TrueQ[$UseGamma]

Int[w_*u_^m_.*F_^(c_.*v_),x_Symbol] :=
  Int[ExpandIntegrand[F^(c*ExpandToSum[v,x]),w*NormalizePowerOfLinear[u,x]^m,x],x] /;
FreeQ[{F,c},x] && PolynomialQ[w,x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && IntegerQ[m] && Not[TrueQ[$UseGamma]]

2:  ∫(Subscript[P, x])(u^m)(F^(c v))dx  when  v==a+b x ∧ u==(((d+e x))^n) ∧ m∉ℤ

Derivation: Algebraic expansion

Rule: If  v==a+b x ∧ u==(((d+e x))^n) ∧ m∉ℤ, then

∫(Subscript[P, x])(u^m)(F^(c v))dx  ⟶  (((((((d+e x))^n)))^m)/(((d+e x))^(m n)))∫(F^(c (a+b x)))ExpandIntegrand[(Subscript[P, x])(((d+e x))^(m n)),x]dx

Program code:

Int[w_*u_^m_.*F_^(c_.*v_),x_Symbol] :=
  Module[{uu=NormalizePowerOfLinear[u,x],z},
  z=If[PowerQ[uu] && FreeQ[uu[[2]],x], uu[[1]]^(m*uu[[2]]), uu^m];
  uu^m/z*Int[ExpandIntegrand[w*z*F^(c*ExpandToSum[v,x]),x],x]] /;
FreeQ[{F,c,m},x] && PolynomialQ[w,x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && Not[IntegerQ[m]]

5.  ∫u (F^(c (a+b x)))((Log[d x])^n)dx

1:  ∫(F^(c (a+b x))) ((Log[d x])^n) (e+h(f+g x) Log[d x])dx  when  e==f h (n+1) ∧ g h (n+1)==b c e Log[F] ∧ n≠-1

Rule: If  e==f h (n+1) ∧ g h (n+1)==b c e Log[F] ∧ n≠-1, then

∫(F^(c (a+b x))) ((Log[d x])^n) (e+h(f+g x) Log[d x])dx  ⟶  ((e x (F^(c(a+b x))) ((Log[d x])^(n+1)))/(n+1))

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Log[d_.*x_]^n_.*(e_+h_.*(f_.+g_.*x_)*Log[d_.*x_]),x_Symbol] :=
  e*x*F^(c*(a+b*x))*Log[d*x]^(n+1)/(n+1) /;
FreeQ[{F,a,b,c,d,e,f,g,h,n},x] && EqQ[e-f*h*(n+1),0] && EqQ[g*h*(n+1)-b*c*e*Log[F],0] && NeQ[n,-1]

2:  ∫(x^m)(F^(c (a+b x))) ((Log[d x])^n) (e+h(f+g x) Log[d x])dx  when  e (m+1)==f h (n+1) ∧ g h (n+1)==b c e Log[F] ∧ n≠-1

Rule: If  e (m+1)==f h (n+1) ∧ g h (n+1)==b c e Log[F] ∧ n≠-1, then

∫(x^m)(F^(c (a+b x))) ((Log[d x])^n) (e+h(f+g x) Log[d x])dx  ⟶  ((e (x^(m+1))(F^(c(a+b x))) ((Log[d x])^(n+1)))/(n+1))

Program code:

Int[x_^m_.*F_^(c_.*(a_.+b_.*x_))*Log[d_.*x_]^n_.*(e_+h_.*(f_.+g_.*x_)*Log[d_.*x_]),x_Symbol] :=
  e*x^(m+1)*F^(c*(a+b*x))*Log[d*x]^(n+1)/(n+1) /;
FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x] && EqQ[e*(m+1)-f*h*(n+1),0] && EqQ[g*h*(n+1)-b*c*e*Log[F],0] && NeQ[n,-1]

2.  ∫u (F^(a+b (((c+d x))^n)))dx

1.  ∫(F^(a+b (((c+d x))^n)))dx

1.  ∫(F^(a+b (((c+d x))^n)))dx  when  (2/n)∈ℤ

1.  ∫(F^(a+b (((c+d x))^n)))dx  when  (2/n)∈ℤ ∧ n∈ℤ

1.  ∫(F^(a+b (((c+d x))^n)))dx  when  (2/n)∈ℤ ∧ n∈(SuperPlus[ℤ])

1:  ∫(F^(a+b (c+d x)))dx

Reference: G&R 2.311, CRC 519, A&S 4.2.54

Rule:

∫(F^(a+b (c+d x)))dx  ⟶  ((F^(a+b (c+d x)))/(b d Log[F]))

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)),x_Symbol] :=
  F^(a+b*(c+d*x))/(b*d*Log[F]) /;
FreeQ[{F,a,b,c,d},x]

2.  ∫(F^(a+b (((c+d x))^2)))dx

1:  ∫(F^(a+b (((c+d x))^2)))dx  when  b>0

Basis: Erfi'[z]==((2 (e^(z^2)))/(Sqrt[π]))

Rule: If  b>0, then

∫(F^(a+b (((c+d x))^2)))dx  ⟶  (((F^a) (Sqrt[π]) Erfi[(c+d x) (Sqrt[b Log[F]])])/(2d(Sqrt[b Log[F]])))

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
  F^a*Sqrt[Pi]*Erfi[(c+d*x)*Rt[b*Log[F],2]]/(2*d*Rt[b*Log[F],2]) /;
FreeQ[{F,a,b,c,d},x] && PosQ[b]

2:  ∫(F^(a+b (((c+d x))^2)))dx  when  ¬(b>0)

Basis: Erf'[z]==((2 (e^(-(z^2))))/(Sqrt[π]))

Rule: If  ¬(b>0), then

∫(F^(a+b (((c+d x))^2)))dx  ⟶  (((F^a) (Sqrt[π]) Erf[(c+d x) (Sqrt[-b Log[F]])])/(2d (Sqrt[-b Log[F]])))

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
  F^a*Sqrt[Pi]*Erf[(c+d*x)*Rt[-b*Log[F],2]]/(2*d*Rt[-b*Log[F],2]) /;
FreeQ[{F,a,b,c,d},x] && NegQ[b]

2:  ∫(F^(a+b (((c+d x))^n)))dx  when  (2/n)∈ℤ ∧ n∈(SuperMinus[ℤ])

Derivation: Integration by parts

Basis: 1==(∂_x)((c+d x)/d)

Rule: If  (2/n)∈ℤ ∧ n∈(SuperMinus[ℤ]), then

∫(F^(a+b (((c+d x))^n)))dx  ⟶  (((c+d x) (F^(a+b (((c+d x))^n))))/d)-b n Log[F]∫(((c+d x))^n) (F^(a+b (((c+d x))^n)))dx

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (c+d*x)*F^(a+b*(c+d*x)^n)/d -
  b*n*Log[F]*Int[(c+d*x)^n*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d},x] && IntegerQ[2/n] && ILtQ[n,0]

2:  ∫(F^(a+b (((c+d x))^n)))dx  when  (2/n)∈ℤ ∧ n∉ℤ

Derivation: Integration by substitution

Basis: If  k∈(SuperPlus[ℤ]), then F[(((c+d x))^n)]==(k/d)((((((c+d x))^(1/k))))^(k-1)) F[((((((c+d x))^(1/k))))^(k n))](∂_x)(((c+d x))^(1/k))

Rule: If  (2/n)∈ℤ ∧ n∉(SuperPlus[ℤ]), let k=Denominator[n], then

∫(F^(a+b (x^n)))dx  ⟶  (k/d) Subst[∫(x^(k-1)) (F^(a+b (x^(k n))))dx,x,(((c+d x))^(1/k))]

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  With[{k=Denominator[n]},
  k/d*Subst[Int[x^(k-1)*F^(a+b*x^(k*n)),x],x,(c+d*x)^(1/k)]] /;
FreeQ[{F,a,b,c,d},x] && IntegerQ[2/n] && Not[IntegerQ[n]]

2:  ∫(F^(a+b (((c+d x))^n)))dx  when  (2/n)∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)(((c+d x))/(((-b (((c+d x))^n) Log[F]))^(1/n)))==0

Basis: (∂_x)Gamma[(1/n),-b (((c+d x))^n) Log[F]]==-((d n (F^(b (((c+d x))^n))) (((-b (((c+d x))^n) Log[F]))^(1/n)))/(c+d x))

Rule: If (2/n)∉ℤ, then

∫(F^(a+b (((c+d x))^n)))dx  ⟶  -(((F^a) (c+d x) Gamma[(1/n),-b (((c+d x))^n) Log[F]])/(d n(((-b (((c+d x))^n) Log[F]))^(1/n))))

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  -F^a*(c+d*x)*Gamma[1/n,-b*(c+d*x)^n*Log[F]]/(d*n*(-b*(c+d*x)^n*Log[F])^(1/n)) /;
FreeQ[{F,a,b,c,d,n},x] && Not[IntegerQ[2/n]]

2.  ∫(((e+f x))^m) (F^(a+b (((c+d x))^n)))dx

1.  ∫(((e+f x))^m)(F^(a+b(((c+d x))^n)))dx  when  d e-c f==0

1.  ∫(((e+f x))^m)(F^(a+b(((c+d x))^n)))dx  when  d e-c f==0 ∧ ((2(m+1))/n)∈ℤ

1:  ∫(((e+f x))^(n-1))(F^(a+b (((c+d x))^n)))dx  when  d e-c f==0

Derivation: Piecewise constant extraction and integration by substitution

Rule: If  d e-c f==0, then (∂_x)((((e+f x))^n)/(((c+d x))^n))==0

Basis: (((c+d x))^(n-1))F[(((c+d x))^n)]==(1/(d n))F[(((c+d x))^n)] (∂_x)(((c+d x))^n)

Rule: If  d e-c f==0, then

∫(((e+f x))^(n-1))(F^(a+b (((c+d x))^n)))dx  ⟶  (((((e+f x))^n)(F^(a+b (((c+d x))^n))))/(b f n (((c+d x))^n) Log[F]))

Program code:

Int[(e_.+f_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (e+f*x)^n*F^(a+b*(c+d*x)^n)/(b*f*n*(c+d*x)^n*Log[F]) /;
FreeQ[{F,a,b,c,d,e,f,n},x] && EqQ[m,n-1] && EqQ[d*e-c*f,0]

2:  ∫((F^(a+b (((c+d x))^n)))/(e+f x))dx  when  d e-c f==0

Basis: ExpIntegralEi'[z]==((e^z)/z)

Rule: If  d e-c f==0, then

∫((F^(a+b (((c+d x))^n)))/(e+f x))dx  ⟶  (((F^a)ExpIntegralEi[b (((c+d x))^n) Log[F]])/(f n))

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_)/(e_.+f_.*x_),x_Symbol] :=
  F^a*ExpIntegralEi[b*(c+d*x)^n*Log[F]]/(f*n) /;
FreeQ[{F,a,b,c,d,e,f,n},x] && EqQ[d*e-c*f,0]

3.  ∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  when  ((2(m+1))/n)∈ℤ

1:  ∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  when  n==2(m+1)

Derivation: Integration by substitution

Basis: If  n==2(m+1), then (((c+d x))^m)F[(((c+d x))^n)]==(1/(d(m+1))) F[((((((c+d x))^(m+1))))^2)](∂_x)(((c+d x))^(m+1))

Rule: If  n==2(m+1), then

∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  ⟶  (1/(d(m+1))) Subst[∫ (F^(a+b (x^2)))dx,x,(((c+d x))^(m+1))]

Program code:

Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  1/(d*(m+1))*Subst[Int[F^(a+b*x^2),x],x,(c+d*x)^(m+1)] /;
FreeQ[{F,a,b,c,d,m,n},x] && EqQ[n,2*(m+1)]

2.  ∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  when  ((2(m+1))/n)∈ℤ ∧ n∈ℤ

1:  ∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  when  ((2(m+1))/n)∈ℤ ∧ n∈ℤ ∧ (0<n<m+1 ∨ m<n<0)

Reference: G&R 2.321.1, CRC 521, A&S 4.2.55

Derivation: Integration by parts

Basis: (((c+d x))^m)(F^(a+b(((c+d x))^n)))==(((c+d x))^(m-n+1))(∂_x)((F^(a+b(((c+d x))^n)))/(b d n Log[F]))

Rule: If ((2(m+1))/n)∈ℤ ∧ n∈ℤ ∧ (0<n<m+1 ∨ m<n<0), then

∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  ⟶  (((((c+d x))^(m-n+1)) (F^(a+b(((c+d x))^n))))/(b d n Log[F]))-((m-n+1)/(b n Log[F]))∫(((c+d x))^(m-n)) (F^(a+b(((c+d x))^n)))dx

Program code:

Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (c+d*x)^(m-n+1)*F^(a+b*(c+d*x)^n)/(b*d*n*Log[F]) -
  (m-n+1)/(b*n*Log[F])*Int[(c+d*x)^(m-n)*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d},x] && IntegerQ[2*(m+1)/n] && LtQ[0,(m+1)/n,5] && IntegerQ[n] && (LtQ[0,n,m+1] || LtQ[m,n,0])

Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (c+d*x)^(m-n+1)*F^(a+b*(c+d*x)^n)/(b*d*n*Log[F]) -
  (m-n+1)/(b*n*Log[F])*Int[(c+d*x)^Simplify[m-n]*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d,m,n},x] && IntegerQ[2*Simplify[(m+1)/n]] && LtQ[0,Simplify[(m+1)/n],5] && Not[RationalQ[m]] && SumSimplerQ[m,-n]

2:  ∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  when  ((2(m+1))/n)∈ℤ ∧ n∈ℤ ∧ (n>0 ∧ m<-1 ∨ 0<-n≤m+1)

Reference: G&R 2.324.1, CRC 523, A&S 4.2.56

Derivation: Integration by parts

Rule: If  ((2(m+1))/n)∈ℤ ∧ n∈ℤ ∧ (n>0 ∧ m<-1 ∨ 0<-n≤m+1), then

∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  ⟶  (((((c+d x))^(m+1)) (F^(a+b (((c+d x))^n))))/(d(m+1)))-((b n Log[F])/(m+1))∫(((c+d x))^(m+n))(F^(a+b(((c+d x))^n)))dx

Program code:

Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (c+d*x)^(m+1)*F^(a+b*(c+d*x)^n)/(d*(m+1)) -
  b*n*Log[F]/(m+1)*Int[(c+d*x)^(m+n)*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d},x] && IntegerQ[2*(m+1)/n] && LtQ[-4,(m+1)/n,5] && IntegerQ[n] && (GtQ[n,0] && LtQ[m,-1] || GtQ[-n,0] && LeQ[-n,m+1])

Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (c+d*x)^(m+1)*F^(a+b*(c+d*x)^n)/(d*(m+1)) -
  b*n*Log[F]/(m+1)*Int[(c+d*x)^Simplify[m+n]*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d,m,n},x] && IntegerQ[2*Simplify[(m+1)/n]] && LtQ[-4,Simplify[(m+1)/n],5] && Not[RationalQ[m]] && SumSimplerQ[m,n]

3:  ∫(((c+d x))^m)(F^(a+b (((c+d x))^n)))dx  when  ((2(m+1))/n)∈ℤ ∧ n∉ℤ

Derivation: Integration by substitution

Basis: If  k∈(SuperPlus[ℤ]), then (((c+d x))^m)F[(((c+d x))^n)]==(k/d)((((((c+d x))^(1/k))))^(k(m+1)-1)) F[((((((c+d x))^(1/k))))^(k n))](∂_x)(((c+d x))^(1/k))

Rule: If  ((2(m+1))/n)∈ℤ ∧ n∉ℤ, then

∫(((c+d x))^m)(F^(a+b(((c+d x))^n)))dx  ⟶  (k/d) Subst[∫(x^(k(m+1)-1)) (F^(a+b (x^(k n))))dx,x,(((c+d x))^(1/k))]

Program code:

Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  With[{k=Denominator[n]},
  k/d*Subst[Int[x^(k*(m+1)-1)*F^(a+b*x^(k*n)),x],x,(c+d*x)^(1/k)]] /;
FreeQ[{F,a,b,c,d,m,n},x] && IntegerQ[2*(m+1)/n] && LtQ[0,(m+1)/n,5] && Not[IntegerQ[n]]

4:  ∫(((e+f x))^m)(F^(a+b (((c+d x))^n)))dx  when  d e-c f==0 ∧ ((2(m+1))/n)∈ℤ ∧ m∉ℤ

Derivation: Piecewise constant extraction

Basis: If  d e-c f==0, then (∂_x)((((e+f x))^m)/(((c+d x))^m))==0

Rule: If d e-c f==0 ∧ ((2(m+1))/n)∈ℤ ∧ m∉ℤ, then

∫(((e+f x))^m) (F^(a+b (((c+d x))^n)))dx  ⟶  ((((e+f x))^m)/(((c+d x))^m))∫(((c+d x))^m) (F^(a+b (((c+d x))^n)))dx

Program code:

Int[(e_.+f_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (e+f*x)^m/(c+d*x)^m*Int[(c+d*x)^m*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d,e,f,m,n},x] && EqQ[d*e-c*f,0] && IntegerQ[2*Simplify[(m+1)/n]] && Not[IntegerQ[m]] && NeQ[f,d] && NeQ[c*e,0]

2.  ∫(((e+f x))^m)(F^(a+b(((c+d x))^n)))dx  when  d e-c f==0 ∧ ((2(m+1))/n)∉ℤ

1:  ∫(((e+f x))^m)(F^(a+b (((c+d x))^n)))dx  when  d e-c f==0 ∧ ((m+1)/n)∈ℤ

Basis: If  ((m+1)/n)∈ℤ, then (∂_x)Gamma[((m+1)/n),-b (((c+d x))^n) Log[F]]==-d n (((c+d x))^m) (F^(b (((c+d x))^n))) (((-b Log[F]))^((m+1)/n))

Note: The special case d e-c f==0 is important because (∂_x)Gamma[m,e+f x] equals -f(((e+f x))^(m-1)) (e^(-(e+f x))).

Rule: If  d e-c f==0 ∧ ((m+1)/n)∈ℤ, then

∫(((e+f x))^m) (F^(a+b (((c+d x))^n)))dx  ⟶  -(((F^a) ((((f/d)))^m))/(d n (((-b Log[F]))^((m+1)/n))))FunctionExpand[Gamma[((m+1)/n),-b (((c+d x))^n) Log[F]]]

Program code:

Int[(e_.+f_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  With[{p=Simplify[(m+1)/n]},
  -F^a*(f/d)^m/(d*n*(-b*Log[F])^p)*Simplify[FunctionExpand[Gamma[p,-b*(c+d*x)^n*Log[F]]]] /;
  IGtQ[p,0]] /;
FreeQ[{F,a,b,c,d,e,f,m,n},x] && EqQ[d*e-c*f,0] && Not[TrueQ[$UseGamma]]

2:  ∫(((e+f x))^m)(F^(a+b (((c+d x))^n)))dx  when  d e-c f==0

Derivation: Piecewise constant extraction

Basis: (∂_x)((c+d x)/(((-b (((c+d x))^n) Log[F]))^(1/n)))==0

Basis: (∂_x)Gamma[((m+1)/n),-b (((c+d x))^n) Log[F]]==-((d n (F^(b (((c+d x))^n)))(((-b (((c+d x))^n) Log[F]))^((m+1)/n)))/(c+d x))

Note: This rule eliminates numerous steps and results in compact antiderivatives.  When m or n is nonnumeric, Mathematica 8 and Maple 16 do not take advantage of it.

Note: To avoid introducing the incomplete gamma function when not absolutely necessary, apply the above substitution rule whenever ((2(m+1))/n)∈ℤ.

Note: The special case d e-c f==0 is important because (∂_x)Gamma[m,e+f x] equals -f(((e+f x))^(m-1)) (e^(-(e+f x))).

Rule: If  d e-c f==0, then

∫(((e+f x))^m) (F^(a+b (((c+d x))^n)))dx  ⟶  -(((F^a) (((e+f x))^(m+1)))/(f n))ExpIntegralE[1-((m+1)/n),-b (((c+d x))^n) Log[F]]

∫(((e+f x))^m) (F^(a+b (((c+d x))^n)))dx  ⟶  -(((F^a)(((e+f x))^(m+1)))/(f n(((-b (((c+d x))^n) Log[F]))^((m+1)/n))))Gamma[((m+1)/n),-b (((c+d x))^n) Log[F]]

Program code:

Int[(e_.+f_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
(*-F^a*(e+f*x)^(m+1)/(f*n)*ExpIntegralE[1-(m+1)/n,-b*(c+d*x)^n*Log[F]] *)
  -F^a*(e+f*x)^(m+1)/(f*n*(-b*(c+d*x)^n*Log[F])^((m+1)/n))*Gamma[(m+1)/n,-b*(c+d*x)^n*Log[F]] /;
FreeQ[{F,a,b,c,d,e,f,m,n},x] && EqQ[d*e-c*f,0]

2.  ∫(((e+f x))^m)(F^(a+b (((c+d x))^n)))dx  when  d e-c f≠0

1.  ∫(((e+f x))^m)(F^(a+b (((c+d x))^2)))dx  when  d e-c f≠0

1:  ∫(((e+f x))^m)(F^(a+b (((c+d x))^2)))dx  when  d e-c f≠0 ∧ m>1

Derivation: Inverted integration by parts

Rule: If  d e-c f≠0 ∧ m>1, then

∫(((e+f x))^m)(F^(a+b (((c+d x))^2)))dx  ⟶  
((f(((e+f x))^(m-1)) (F^(a+b (((c+d x))^2))))/(2 b (d^2)Log[F]))+((d e-c f)/d)∫(((e+f x))^(m-1))(F^(a+b (((c+d x))^2)))dx-(((m-1) (f^2))/(2b (d^2)Log[F]))∫(((e+f x))^(m-2))(F^(a+b (((c+d x))^2)))dx

Program code:

Int[(e_.+f_.*x_)^m_*F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
  f*(e+f*x)^(m-1)*F^(a+b*(c+d*x)^2)/(2*b*d^2*Log[F]) + 
  (d*e-c*f)/d*Int[(e+f*x)^(m-1)*F^(a+b*(c+d*x)^2),x] - 
  (m-1)*f^2/(2*b*d^2*Log[F])*Int[(e+f*x)^(m-2)*F^(a+b*(c+d*x)^2),x] /;
FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f,0] && FractionQ[m] && GtQ[m,1]

2:  ∫(((e+f x))^m)(F^(a+b (((c+d x))^2)))dx  when  d e-c f≠0 ∧ m<-1

Derivation: Integration by parts

Rule: If  d e-c f≠0 ∧ m<-1, then

∫(((e+f x))^m)(F^(a+b (((c+d x))^2)))dx  ⟶  
((f(((e+f x))^(m+1)) (F^(a+b (((c+d x))^2))))/((m+1) (f^2)))+((2b d(d e-c f)Log[F])/((f^2)(m+1)))∫(((e+f x))^(m+1))(F^(a+b (((c+d x))^2)))dx-((2 b (d^2)Log[F])/((f^2) (m+1)))∫(((e+f x))^(m+2))(F^(a+b (((c+d x))^2)))dx

Program code:

Int[(e_.+f_.*x_)^m_*F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
  f*(e+f*x)^(m+1)*F^(a+b*(c+d*x)^2)/((m+1)*f^2) + 
  2*b*d*(d*e-c*f)*Log[F]/(f^2*(m+1))*Int[(e+f*x)^(m+1)*F^(a+b*(c+d*x)^2),x] - 
  2*b*d^2*Log[F]/(f^2*(m+1))*Int[(e+f*x)^(m+2)*F^(a+b*(c+d*x)^2),x] /;
FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f,0] && LtQ[m,-1]

2:  ∫(((e+f x))^m)(F^(a+b (((c+d x))^n)))dx  when  d e-c f≠0 ∧ n-2∈(SuperPlus[ℤ])∧ m<-1

Derivation: Integration by parts

Basis: (((e+f x))^m)==(∂_x)((((e+f x))^(m+1))/(f(m+1)))

Rule: If  d e-c f≠0 ∧ n-2∈(SuperPlus[ℤ])∧ m<-1, then

∫(((e+f x))^m)(F^(a+b (((c+d x))^n)))dx  ⟶  (((((e+f x))^(m+1)) (F^(a+b (((c+d x))^n))))/(f (m+1)))-((b d n Log[F])/(f (m+1)))∫(((e+f x))^(m+1))(((c+d x))^(n-1)) (F^(a+b (((c+d x))^n)))dx

Program code:

Int[(e_.+f_.*x_)^m_*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  (e+f*x)^(m+1)*F^(a+b*(c+d*x)^n)/(f*(m+1)) -
  b*d*n*Log[F]/(f*(m+1))*Int[(e+f*x)^(m+1)*(c+d*x)^(n-1)*F^(a+b*(c+d*x)^n),x] /;
FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f,0] && IGtQ[n,2] && LtQ[m,-1]

3.  ∫(((e+f x))^m)(F^(a+(b/(c+d x))))dx  when  d e-c f≠0 ∧ m∈(SuperMinus[ℤ])

1:  ∫((F^(a+(b/(c+d x))))/(e+f x))dx  when  d e-c f≠0

Derivation: Algebraic expansion

Basis: (1/(e+f x))==(d/(f (c+d x)))-((d e-c f)/(f (c+d x) (e+f x)))

Rule: If  d e-c f≠0, then

∫((F^(a+(b/(c+d x))))/(e+f x))dx  ⟶  (d/f)∫((F^(a+(b/(c+d x))))/(c+d x))dx-((d e-c f)/f)∫((F^(a+(b/(c+d x))))/((c+d x) (e+f x)))dx

Program code:

Int[F_^(a_.+b_./(c_.+d_.*x_))/(e_.+f_.*x_),x_Symbol] :=
  d/f*Int[F^(a+b/(c+d*x))/(c+d*x),x] - 
  (d*e-c*f)/f*Int[F^(a+b/(c+d*x))/((c+d*x)*(e+f*x)),x] /;
FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f,0]

2:  ∫(((e+f x))^m)(F^(a+(b/(c+d x))))dx  when  d e-c f≠0 ∧ m+1∈(SuperMinus[ℤ])

Derivation: Integration by parts

Basis: (((e+f x))^m)==(∂_x)((((e+f x))^(m+1))/(f (m+1)))

Note: Although resulting integrand appears more complicated than the original one, it is amenable to partial fraction expansion.

Rule: If  d e-c f≠0 ∧ m+1∈(SuperMinus[ℤ]), then

∫(((e+f x))^m)(F^(a+(b/(c+d x))))dx  ⟶  (((((e+f x))^(m+1))(F^(a+(b/(c+d x)))))/(f (m+1)))+((b d Log[F])/(f (m+1)))∫(((((e+f x))^(m+1))(F^(a+(b/(c+d x)))))/(((c+d x))^2))dx

Program code:

Int[(e_.+f_.*x_)^m_*F_^(a_.+b_./(c_.+d_.*x_)),x_Symbol] :=
  (e+f*x)^(m+1)*F^(a+b/(c+d*x))/(f*(m+1)) + 
  b*d*Log[F]/(f*(m+1))*Int[(e+f*x)^(m+1)*F^(a+b/(c+d*x))/(c+d*x)^2,x] /;
FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f,0] && ILtQ[m,-1]

X:  ∫((F^(a+b (((c+d x))^n)))/(e+f x))dx  when  d e-c f≠0

Rule: If  d e-c f≠0, then

∫((F^(a+b (((c+d x))^n)))/(e+f x))dx  ⟶  ∫((F^(a+b (((c+d x))^n)))/(e+f x))dx

Program code:

Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_)/(e_.+f_.*x_),x_Symbol] :=
  Unintegrable[F^(a+b*(c+d*x)^n)/(e+f*x),x] /;
FreeQ[{F,a,b,c,d,e,f,n},x] && NeQ[d*e-c*f,0]

3:  ∫(u^m)(F^v)dx  when  u==e+f x ∧ v==a+b (x^n)

Derivation: Algebraic normalization

Rule: If  u==e+f x ∧ v==a+b (x^n), then

∫(u^m)(F^v)dx  ⟶  ∫(((e+f x))^m)(F^(a+b (x^n)))dx

Program code:

Int[u_^m_.*F_^v_,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*F^ExpandToSum[v,x],x] /;
FreeQ[{F,m},x] && LinearQ[u,x] && BinomialQ[v,x] && Not[LinearMatchQ[u,x] && BinomialMatchQ[v,x]]

3.  ∫(Subscript[P, x])(F^(a+b (((c+d x))^n)))dx

1:  ∫(Subscript[P, x])(F^(a+b (((c+d x))^n)))dx

Derivation: Algebraic expansion

Rule:

∫(Subscript[P, x])(F^(a+b (((c+d x))^n)))dx  ⟶  ∫(F^(a+b (((c+d x))^n)))ExpandLinearProduct[(Subscript[P, x]),c,d,x]dx

Program code:

Int[u_*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
  Int[ExpandLinearProduct[F^(a+b*(c+d*x)^n),u,c,d,x],x] /;
FreeQ[{F,a,b,c,d,n},x] && PolynomialQ[u,x]

2:  ∫(Subscript[P, x])(F^(a+b v))dx  when  v==(((c+d x))^n)

Derivation: Algebraic normalization

Rule: If  v==(((c+d x))^n), then

∫(Subscript[P, x])(F^(a+b v))dx  ⟶  ∫(Subscript[P, x])(F^(a+b (((c+d x))^n)))dx

Program code:

Int[u_.*F_^(a_.+b_.*v_),x_Symbol] :=
  Int[u*F^(a+b*NormalizePowerOfLinear[v,x]),x] /;
FreeQ[{F,a,b},x] && PolynomialQ[u,x] && PowerOfLinearQ[v,x] && Not[PowerOfLinearMatchQ[v,x]]

x:  ∫(Subscript[P, x])(F^(a+b (v^n)))dx  when  v==c+d x

Derivation: Algebraic normalization

Rule: If  v==c+d x, then

∫(Subscript[P, x])(F^(a+b (v^n)))dx  ⟶  ∫(Subscript[P, x])(F^(a+b (((c+d x))^n)))dx

Program code:

(* Int[u_.*F_^(a_.+b_.*v_^n_),x_Symbol] :=
  Int[u*F^(a+b*ExpandToSum[v,x]^n),x] /;
FreeQ[{F,a,b,n},x] && PolynomialQ[u,x] && LinearQ[v,x] && Not[LinearMatchQ[v,x]] *)

x:  ∫(Subscript[P, x])(F^v)dx  when  v==a+b (x^n)

Derivation: Algebraic normalization

Rule: If  v==a+b (x^n), then

∫(Subscript[P, x])(F^v)dx  ⟶  ∫(Subscript[P, x])(F^(a+b (x^n)))dx

Program code:

(* Int[u_.*F_^u_,x_Symbol] :=
  Int[u*F^ExpandToSum[u,x],x] /;
FreeQ[F,x] && PolynomialQ[u,x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]] *)

4:  ∫((F^(a+(b/(c+d x))))/((e+f x)(g+h x)))dx  when  d e-c f==0

Derivation: Integration by substitution

Basis: If  d e-c f==0, then ((F^(a+(b/(c+d x))))/((e+f x)(g+h x)))==-(d/(f (d g-c h)))((F^(a-((b h)/(d g-c h))+((d b)/(d g-c h))((g+h x)/(c+d x))))/((g+h x)/(c+d x)))(∂_x)((g+h x)/(c+d x))

Rule: If  d e-c f==0, then

∫((F^(a+(b/(c+d x))))/((e+f x)(g+h x)))dx  ⟶  -(d/(f (d g-c h)))Subst[∫((F^(a-((b h)/(d g-c h))-((-d b x)/(d g-c h))))/x)dx,x,((g+h x)/(c+d x))]

Program code:

Int[F_^(a_.+b_./(c_.+d_.*x_))/((e_.+f_.*x_)*(g_.+h_.*x_)),x_Symbol] :=
  -d/(f*(d*g-c*h))*Subst[Int[F^(a-b*h/(d*g-c*h)+d*b*x/(d*g-c*h))/x,x],x,(g+h*x)/(c+d*x)] /;
FreeQ[{F,a,b,c,d,e,f},x] && EqQ[d*e-c*f,0]

3.  ∫u (F^(e+f((a+b x)/(c+d x))))dx

1.  ∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx

1:  ∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  when  b c-a d==0

Derivation: Algebraic simplification

Basis: If  b c-a d==0, then ((a+b x)/(c+d x))==(b/d)

Rule: If  b c-a d==0, then

∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  ⟶  (F^(e+f(b/d)))∫(((g+h x))^m)dx

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_)),x_Symbol] :=
  F^(e+f*b/d)*Int[(g+h*x)^m,x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && EqQ[b*c-a*d,0]

2.  ∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  when  b c-a d≠0

1:  ∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  when  b c-a d≠0 ∧ d g-c h==0

Derivation: Algebraic normalization

Basis: e+f((a+b x)/(c+d x))==((d e+b f)/d)-f((b c-a d)/(d (c+d x)))

Rule: If  b c-a d≠0 ∧ d g-c h==0, then

∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  ⟶  ∫(((g+h x))^m)(F^(((d e+b f)/d)-f((b c-a d)/(d (c+d x)))))dx

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_)),x_Symbol] :=
  Int[(g+h*x)^m*F^((d*e+b*f)/d-f*(b*c-a*d)/(d*(c+d*x))),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && NeQ[b*c-a*d,0] && EqQ[d*g-c*h,0]

2.  ∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  when  b c-a d≠0 ∧ d g-c h≠0

1:  ∫((F^(e+f((a+b x)/(c+d x))))/(g+h x))dx  when  b c-a d≠0 ∧ d g-c h≠0

Derivation: Algebraic expansion

Basis: (1/(g+h x))==(d/(h (c+d x)))-((d g-c h)/(h (c+d x) (g+h x)))

Rule: If  b c-a d≠0 ∧ d g-c h≠0, then

∫((F^(e+f((a+b x)/(c+d x))))/(g+h x))dx  ⟶  (d/h)∫((F^(e+f((a+b x)/(c+d x))))/(c+d x))dx-((d g-c h)/h)∫((F^(e+f((a+b x)/(c+d x))))/((c+d x) (g+h x)))dx

Program code:

Int[F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_))/(g_.+h_.*x_),x_Symbol] :=
  d/h*Int[F^(e+f*(a+b*x)/(c+d*x))/(c+d*x),x] - 
  (d*g-c*h)/h*Int[F^(e+f*(a+b*x)/(c+d*x))/((c+d*x)*(g+h*x)),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h},x] && NeQ[b*c-a*d,0] && NeQ[d*g-c*h,0]

2:  ∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  when  b c-a d≠0 ∧ d g-c h≠0 ∧ m+1∈(SuperMinus[ℤ])

Derivation: Integration by parts

Basis: (((g+h x))^m)==(∂_x)((((g+h x))^(m+1))/(h (m+1)))

Note: Although resulting integrand appears more complicated than the original one, it is amenable to partial fraction expansion.

Rule: If  b c-a d≠0 ∧ d g-c h≠0 ∧ m+1∈(SuperMinus[ℤ]), then

∫(((g+h x))^m)(F^(e+f((a+b x)/(c+d x))))dx  ⟶  (((((g+h x))^(m+1))(F^(e+f((a+b x)/(c+d x)))))/(h (m+1)))-((f (b c-a d) Log[F])/(h (m+1)))∫(((((g+h x))^(m+1))(F^(e+f((a+b x)/(c+d x)))))/(((c+d x))^2))dx

Program code:

Int[(g_.+h_.*x_)^m_*F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_)),x_Symbol] :=
  (g+h*x)^(m+1)*F^(e+f*(a+b*x)/(c+d*x))/(h*(m+1)) - 
  f*(b*c-a*d)*Log[F]/(h*(m+1))*Int[(g+h*x)^(m+1)*F^(e+f*(a+b*x)/(c+d*x))/(c+d*x)^2,x] /;
FreeQ[{F,a,b,c,d,e,f,g,h},x] && NeQ[b*c-a*d,0] && NeQ[d*g-c*h,0] && ILtQ[m,-1]

2:  ∫((F^(e+f((a+b x)/(c+d x))))/((g+h x)(i+j x)))dx  when  d g-c h==0

Derivation: Integration by substitution

Basis: If  d g-c h==0, then ((F^(e+f((a+b x)/(c+d x))))/((g+h x)(i+j x)))==-(d/(h (d i-c j)))((F^(e+((f (b i-a j))/(d i-c j))-(((b c-a d) f)/(d i-c j))((i+j x)/(c+d x))))/((i+j x)/(c+d x)))(∂_x)((i+j x)/(c+d x))

Rule: If  d g-c h==0, then

∫((F^(e+f((a+b x)/(c+d x))))/((g+h x)(i+j x)))dx  ⟶  -(d/(h (d i-c j)))Subst[∫((F^(e+((f (b i-a j))/(d i-c j))-(((b c-a d) f x)/(d i-c j))))/x)dx,x,((i+j x)/(c+d x))]

Program code:

Int[F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_))/((g_.+h_.*x_)*(i_.+j_.*x_)),x_Symbol] :=
  -d/(h*(d*i-c*j))*Subst[Int[F^(e+f*(b*i-a*j)/(d*i-c*j)-(b*c-a*d)*f*x/(d*i-c*j))/x,x],x,(i+j*x)/(c+d*x)] /;
FreeQ[{F,a,b,c,d,e,f,g,h},x] && EqQ[d*g-c*h,0]

4.  ∫u (F^(a+b x+c (x^2)))dx

1.  ∫ (F^(a+b x+c (x^2)))dx

1:  ∫(F^(a+b x+c (x^2)))dx

Derivation: Algebraic expansion

Basis: a+b x+c (x^2)==((4 a c-(b^2))/(4 c))+((((b+2 c x))^2)/(4 c))

Basis: (F^(z+w))==(F^z)(F^w)

Rule:

∫(F^(a+b x+c (x^2)))dx  ⟶  (F^((4 a c-(b^2))/(4 c))) ∫(F^((((b+2 c x))^2)/(4 c)))dx

Program code:

Int[F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  F^(a-b^2/(4*c))*Int[F^((b+2*c*x)^2/(4*c)),x] /;
FreeQ[{F,a,b,c},x]

2:  ∫(F^v)dx  when  v==a+b x+c (x^2)

Derivation: Algebraic normalization

Rule: If  v==a+b x+c (x^2), then

∫(F^v)dx  ⟶  ∫(F^(a+b x+c (x^2)))dx

Program code:

Int[F_^v_,x_Symbol] :=
  Int[F^ExpandToSum[v,x],x] /;
FreeQ[F,x] && QuadraticQ[v,x] && Not[QuadraticMatchQ[v,x]]

2.  ∫(((d+e x))^m) (F^(a+b x+c (x^2)))dx

1.  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d==0

1.  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d==0 ∧ m>0

1:  ∫(d+e x)(F^(a+b x+c (x^2)))dx  when  b e-2 c d==0

Derivation: Integration by substitution

Rule: If  b e-2 c d==0, then

∫(d+e x)(F^(a+b x+c (x^2)))dx  ⟶  ((e (F^(a+b x+c (x^2))))/(2 c Log[F]))

Program code:

Int[(d_.+e_.*x_)*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  e*F^(a+b*x+c*x^2)/(2*c*Log[F]) /;
FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d,0]

2:  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d==0 ∧ m>1

Derivation: Inverted integration by parts

Rule: If  b e-2 c d==0 ∧ m>1, then

∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  ⟶  ((e (((d+e x))^(m-1)) (F^(a+b x+c (x^2))))/(2 c Log[F]))-(((m-1) (e^2))/(2 c Log[F]))∫(((d+e x))^(m-2)) (F^(a+b x+c (x^2)))dx

Program code:

Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  e*(d+e*x)^(m-1)*F^(a+b*x+c*x^2)/(2*c*Log[F]) -
  (m-1)*e^2/(2*c*Log[F])*Int[(d+e*x)^(m-2)*F^(a+b*x+c*x^2),x] /;
FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d,0] && GtQ[m,1]

2.  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d==0 ∧ m<0

1:  ∫((F^(a+b x+c (x^2)))/(d+e x))dx  when  b e-2 c d==0

Rule: If  b e-2 c d==0, then

∫((F^(a+b x+c (x^2)))/(d+e x))dx  ⟶  (1/(2 e))(F^(a-((b^2)/(4 c)))) ExpIntegralEi[(((((b+2 c x))^2) Log[F])/(4 c))]

Program code:

Int[F_^(a_.+b_.*x_+c_.*x_^2)/(d_.+e_.*x_),x_Symbol] :=
  1/(2*e)*F^(a-b^2/(4*c))*ExpIntegralEi[(b+2*c*x)^2*Log[F]/(4*c)] /;
FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d,0]

2:  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d==0 ∧ m<-1

Derivation: Integration by parts

Rule: If  b e-2 c d==0 ∧ m<-1, then

∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  ⟶  (((((d+e x))^(m+1)) (F^(a+b x+c (x^2))))/(e (m+1)))-((2 c Log[F])/((e^2) (m+1)))∫(((d+e x))^(m+2)) (F^(a+b x+c (x^2)))dx

Program code:

Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  (d+e*x)^(m+1)*F^(a+b*x+c*x^2)/(e*(m+1)) - 
  2*c*Log[F]/(e^2*(m+1))*Int[(d+e*x)^(m+2)*F^(a+b*x+c*x^2),x] /;
FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d,0] && LtQ[m,-1]

2.  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d≠0

1.  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d≠0 ∧ m>0

1:  ∫(d+e x)(F^(a+b x+c (x^2)))dx  when  b e-2 c d≠0

Derivation: Inverted integration by parts

Rule: If  b e-2 c d≠0, then

∫(d+e x)(F^(a+b x+c (x^2)))dx  ⟶  ((e (F^(a+b x+c (x^2))))/(2 c Log[F]))-((b e-2 c d)/(2 c))∫(F^(a+b x+c (x^2)))dx

Program code:

Int[(d_.+e_.*x_)*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  e*F^(a+b*x+c*x^2)/(2*c*Log[F]) -
  (b*e-2*c*d)/(2*c)*Int[F^(a+b*x+c*x^2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[b*e-2*c*d,0]

2:  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d≠0 ∧ m>1

Derivation: Inverted integration by parts

Rule: If  b e-2 c d≠0 ∧ m>1, then

∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  ⟶  
((e (((d+e x))^(m-1)) (F^(a+b x+c (x^2))))/(2 c Log[F]))-((b e-2 c d)/(2 c))∫(((d+e x))^(m-1)) (F^(a+b x+c (x^2)))dx-(((m-1) (e^2))/(2 c Log[F]))∫(((d+e x))^(m-2)) (F^(a+b x+c (x^2)))dx

Program code:

Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  e*(d+e*x)^(m-1)*F^(a+b*x+c*x^2)/(2*c*Log[F]) -
  (b*e-2*c*d)/(2*c)*Int[(d+e*x)^(m-1)*F^(a+b*x+c*x^2),x] -
  (m-1)*e^2/(2*c*Log[F])*Int[(d+e*x)^(m-2)*F^(a+b*x+c*x^2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[b*e-2*c*d,0] && GtQ[m,1]

2:  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  when  b e-2 c d≠0 ∧ m<-1

Derivation: Integration by parts

Rule: If  b e-2 c d≠0 ∧ m<-1, then

∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  ⟶  
(((((d+e x))^(m+1)) (F^(a+b x+c (x^2))))/(e (m+1)))-(((b e-2 c d) Log[F])/((e^2) (m+1)))∫(((d+e x))^(m+1)) (F^(a+b x+c (x^2)))dx-((2 c Log[F])/((e^2) (m+1)))∫(((d+e x))^(m+2)) (F^(a+b x+c (x^2)))dx

Program code:

Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  (d+e*x)^(m+1)*F^(a+b*x+c*x^2)/(e*(m+1)) -
  (b*e-2*c*d)*Log[F]/(e^2*(m+1))*Int[(d+e*x)^(m+1)*F^(a+b*x+c*x^2),x] -
  2*c*Log[F]/(e^2*(m+1))*Int[(d+e*x)^(m+2)*F^(a+b*x+c*x^2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[b*e-2*c*d,0] && LtQ[m,-1]

X:  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx

Derivation: Algebraic normalization

Rule: If  u==d+e x ∧ v==a+b x+c (x^2), then

∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx  ⟶  ∫(((d+e x))^m)(F^(a+b x+c (x^2)))dx

Program code:

Int[(d_.+e_.*x_)^m_.*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  Unintegrable[(d+e*x)^m*F^(a+b*x+c*x^2),x] /;
FreeQ[{F,a,b,c,d,e,m},x]

4:  ∫(u^m) (F^v)dx  when  u==d+e x ∧ v==a+b x+c (x^2)

Derivation: Algebraic normalization

Rule: If  u==d+e x ∧ v==a+b x+c (x^2), then

∫(u^m) (F^v)dx  ⟶  ∫(((d+e x))^m) (F^(a+b x+c (x^2)))dx

Program code:

Int[u_^m_.*F_^v_,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*F^ExpandToSum[v,x],x] /;
FreeQ[{F,m},x] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]

5.  ∫u (((a+b ((((F^(e(c+d x)))))^n)))^p)dx

1:  ∫(x^m) (F^(e(c+d x)))(((a+b (F^(2e(c+d x)))))^p)dx  when  m>0 ∧ p∈(SuperMinus[ℤ])

Derivation: Integration by parts

Rule: If  m>0 ∧ p∈(SuperMinus[ℤ]), then

∫(x^m) (F^(e(c+d x)))(((a+b (F^(2e(c+d x)))))^p)dx  ⟶  (x^m) ∫(F^(e(c+d x)))(((a+b (F^(2e(c+d x)))))^p)dx-m∫(x^(m-1)) (∫(F^(e(c+d x)))(((a+b (F^(2e(c+d x)))))^p)dx)dx

Program code:

Int[x_^m_.*F_^(e_.*(c_.+d_.*x_))*(a_.+b_.*F_^v_)^p_,x_Symbol] :=
  With[{u=IntHide[F^(e*(c+d*x))*(a+b*F^v)^p,x]},
  Dist[x^m,u,x] - m*Int[x^(m-1)*u,x]] /;
FreeQ[{F,a,b,c,d,e},x] && EqQ[v,2*e*(c+d*x)] && GtQ[m,0] && ILtQ[p,0]

2.  ∫((((G^(h(f+g x)))))^m) (((a+b ((((F^(e(c+d x)))))^n)))^p)dx  when  d e n Log[F]==g h m Log[G]

1:  ∫((((F^(e (c+d x)))))^n) (((a+b ((((F^(e(c+d x)))))^n)))^p)dx

Derivation: Integration by substitution

Basis: ((((F^(e (c+d x)))))^n) (((a+b ((((F^(e (c+d x)))))^n)))^p)==(1/(d e n Log[F])) Subst[(((a+b x))^p),x,((((F^(e (c+d x)))))^n)] (∂_x)((((F^(e (c+d x)))))^n)

Rule:

∫((((F^(e (c+d x)))))^n) (((a+b ((((F^(e(c+d x)))))^n)))^p)dx  ⟶  (1/(d e n Log[F])) Subst[∫(((a+b x))^p)dx,x,((((F^(e (c+d x)))))^n)]

Program code:

Int[(F_^(e_.*(c_.+d_.*x_)))^n_.*(a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.)^p_.,x_Symbol] :=
  1/(d*e*n*Log[F])*Subst[Int[(a+b*x)^p,x],x,(F^(e*(c+d*x)))^n] /;
FreeQ[{F,a,b,c,d,e,n,p},x]

2:  ∫((((G^(h(f+g x)))))^m) (((a+b ((((F^(e(c+d x)))))^n)))^p)dx  when  d e n Log[F]==g h m Log[G]

Derivation: Piecewise constant extraction

Basis: If  d e n Log[F]==g h m Log[G], then (∂_x)(((((G^(h (f+g x)))))^m)/((((F^(e (c+d x)))))^n))==0

Rule: If  d e n Log[F]==g h m Log[G], then

∫((((G^(h(f+g x)))))^m) (((a+b ((((F^(e(c+d x)))))^n)))^p)dx  ⟶  (((((G^(h (f+g x)))))^m)/((((F^(e (c+d x)))))^n)) ∫((((F^(e (c+d x)))))^n) (((a+b ((((F^(e(c+d x)))))^n)))^p)dx

Program code:

Int[(G_^(h_.(f_.+g_.*x_)))^m_.*(a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.)^p_.,x_Symbol] :=
  (G^(h*(f+g*x)))^m/(F^(e*(c+d*x)))^n*Int[(F^(e*(c+d*x)))^n*(a+b*(F^(e*(c+d*x)))^n)^p,x] /;
FreeQ[{F,G,a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[d*e*n*Log[F],g*h*m*Log[G]]

3.  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx

1.  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  ((g h Log[G])/(d e Log[F]))∈ℝ

1:  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  Abs[((g h Log[G])/(d e Log[F]))]≥1

Derivation: Integration by substitution

Basis: If  k∈ℤ ∧ k((g h Log[G])/(d e Log[F]))∈ℤ, then (G^(h(f+g x)))(((a+b (F^(e(c+d x)))))^p)==((k (G^(f h-((c g h)/d))))/(d e Log[F]))Subst[(x^(k((g h Log[G])/(d e Log[F]))-1))(((a+b (x^k)))^p),x,(F^((e (c+d x))/k))](∂_x)(F^((e (c+d x))/k))

Rule: If  Abs[((g h Log[G])/(d e Log[F]))]≥1, then

∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  ((k (G^(f h-((c g h)/d))))/(d e Log[F]))Subst[∫(x^(k((g h Log[G])/(d e Log[F]))-1))(((a+b (x^k)))^p)dx,x,(F^((e (c+d x))/k))]

Program code:

Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  With[{m=FullSimplify[g*h*Log[G]/(d*e*Log[F])]},
  Denominator[m]*G^(f*h-c*g*h/d)/(d*e*Log[F])*Subst[Int[x^(Numerator[m]-1)*(a+b*x^Denominator[m])^p,x],x,F^(e*(c+d*x)/Denominator[m])] /;
 LeQ[m,-1] || GeQ[m,1]] /;
FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x]

2:  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  Abs[((d e Log[F])/(g h Log[G]))]>1

Derivation: Integration by substitution

Basis: If  k∈ℤ ∧ k((d e Log[F])/(g h Log[G]))∈ℤ, then (G^(h(f+g x)))(((a+b (F^(e(c+d x)))))^p)==(k/(g h Log[G]))Subst[(x^(k-1))(((a+b (F^(c e-((d e f)/g)))(x^(k((d e Log[F])/(g h Log[G]))))))^p),x,(G^((h (f+g x))/k))](∂_x)(G^((h (f+g x))/k))

Rule: If  Abs[((d e Log[F])/(g h Log[G]))]>1, then

∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  (k/(g h Log[G]))Subst[∫(x^(k-1))(((a+b (F^(c e-((d e f)/g)))(x^(k((d e Log[F])/(g h Log[G]))))))^p)dx,x,(G^((h (f+g x))/k))]

Program code:

Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  With[{m=FullSimplify[d*e*Log[F]/(g*h*Log[G])]},
  Denominator[m]/(g*h*Log[G])*Subst[Int[x^(Denominator[m]-1)*(a+b*F^(c*e-d*e*f/g)*x^Numerator[m])^p,x],x,G^(h*(f+g*x)/Denominator[m])] /;
 LtQ[m,-1] || GtQ[m,1]] /;
FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x]

2.  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  ((g h Log[G])/(d e Log[F]))∉ℝ

1:  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  p∈(SuperPlus[ℤ])

Rule: If  p∈(SuperPlus[ℤ]), then

∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  ∫Expand[(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)]dx

Program code:

Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  Int[Expand[G^(h*(f+g*x))*(a+b*F^(e*(c+d*x)))^p,x],x] /;
FreeQ[{F,G,a,b,c,d,e,f,g,h},x] && IGtQ[p,0]

2:  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  p∈(SuperMinus[ℤ]) ∨ a>0

Rule: If  p∈(SuperMinus[ℤ]) ∨ a>0, then

∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  (((a^p)(G^(h (f+g x))))/(g h Log[G]))Hypergeometric2F1[-p,((g h Log[G])/(d e Log[F])),((g h Log[G])/(d e Log[F]))+1,-(b/a)(F^(e (c+d x)))]

Program code:

Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
  a^p*G^(h*(f+g*x))/(g*h*Log[G])*Hypergeometric2F1[-p,g*h*Log[G]/(d*e*Log[F]),g*h*Log[G]/(d*e*Log[F])+1,Simplify[-b/a*F^(e*(c+d*x))]] /;
FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x] && (ILtQ[p,0] || GtQ[a,0])

3:  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  when  ¬(p∈(SuperMinus[ℤ]) ∨ a>0)

Derivation: Piecewise constant extraction

Basis: (∂_x)((((a+b (F^(e (c+d x)))))^p)/(((1+((b (F^(e (c+d x))))/a)))^p))==0

Rule: If  ¬(p∈(SuperMinus[ℤ]) ∨ a>0), then

∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  ((((a+b (F^(e(c+d x)))))^p)/(((1+(b/a) (F^(e(c+d x)))))^p)) ∫(G^(h(f+g x))) (((1+(b/a) (F^(e(c+d x)))))^p)dx

Program code:

Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
  (a+b*F^(e*(c+d*x)))^p/(1+(b/a)*F^(e*(c+d*x)))^p*Int[G^(h*(f+g*x))*(1+b/a*F^(e*(c+d*x)))^p,x] /;
FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x] && Not[ILtQ[p,0] || GtQ[a,0]]

3:  ∫(G^(h u)) (((a+b (F^(e v))))^p)dx  when  u==f+g x ∧ v==c+d x

Derivation: Algebraic normalization

Rule: If  u==f+g x ∧ v==c+d x, then

∫(G^(h u)) (((a+b (F^(e v))))^p)dx  ⟶  ∫(G^(h(f+g x))) (((a+b (F^(e(c+d x)))))^p)dx

Program code:

Int[G_^(h_.u_)*(a_+b_.*F_^(e_.*v_))^p_,x_Symbol] :=
  Int[G^(h*ExpandToSum[u,x])*(a+b*F^(e*ExpandToSum[v,x]))^p,x] /;
FreeQ[{F,G,a,b,e,h,p},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]

4.  ∫(((e+f x))^m) (((a+b (F^(g (i+j x)))))^p) (((c+d (F^(h (i+j x)))))^q)dx  when  (p|q)∈ℤ ∧ (g/h)∈ℝ

x:  ∫(((((c+d x))^m) (F^(g (e+f x))))/(a+b (F^(h (e+f x)))))dx  when  0≤(g/h)-1<(g/h)

Derivation: Algebraic expansion

Basis: ((F^(g z))/(a+b (F^(h z))))==((F^((g-h) z))/b)-((a (F^((g-h) z)))/(b (a+b (F^(h z)))))

Rule: If  0≤(g/h)-1<(g/h), then

∫(((((c+d x))^m) (F^(g (e+f x))))/(a+b (F^(h (e+f x)))))dx  ⟶  (1/b) ∫(((c+d x))^m) (F^((g-h) (e+f x)))dx-(a/b) ∫(((((c+d x))^m) (F^((g-h) (e+f x))))/(a+b (F^(h (e+f x)))))dx

Program code:

(* Int[(c_.+d_.*x_)^m_.*F_^(g_.*(e_.+f_.*x_))/(a_+b_.*F_^(h_.*(e_.+f_.*x_))),x_Symbol] :=
  1/b*Int[(c+d*x)^m*F^((g-h)*(e+f*x)),x] - 
  a/b*Int[(c+d*x)^m*F^((g-h)*(e+f*x))/(a+b*F^(h*(e+f*x))),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && LeQ[0,g/h-1,g/h] *)

x:  ∫(((((c+d x))^m) (F^(g (e+f x))))/(a+b (F^(h (e+f x)))))dx  when  (g/h)<(g/h)+1≤0

Derivation: Algebraic expansion

Basis: ((F^(g z))/(a+b (F^(h z))))==((F^(g z))/a)-((b (F^((g+h) z)))/(a (a+b (F^(h z)))))

Rule: If  (g/h)<(g/h)+1≤0, then

∫(((((c+d x))^m) (F^(g (e+f x))))/(a+b (F^(h (e+f x)))))dx  ⟶  (1/a) ∫(((c+d x))^m) (F^(g (e+f x)))dx-(b/a) ∫(((((c+d x))^m) (F^((g+h) (e+f x))))/(a+b (F^(h (e+f x)))))dx

Program code:

(* Int[(c_.+d_.*x_)^m_.*F_^(g_.*(e_.+f_.*x_))/(a_+b_.*F_^(h_.*(e_.+f_.*x_))),x_Symbol] :=
  1/a*Int[(c+d*x)^m*F^(g*(e+f*x)),x] - 
  b/a*Int[(c+d*x)^m*F^((g+h)*(e+f*x))/(a+b*F^(h*(e+f*x))),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && LeQ[g/h,g/h+1,0] *)

1:  ∫(((e+f x))^m) (((a+b (F^u)))^p) (((c+d (F^v)))^q)dx  when  (p|q)∈ℤ ∧ (u/v)∈ℝ

Derivation: Algebraic expansion

Rule: If  (p|q)∈ℤ ∧ (u/v)∈ℝ, then

∫(((e+f x))^m) (((a+b (F^u)))^p) (((c+d (F^v)))^q)dx  ⟶  ∫(((e+f x))^m) ExpandIntegrand[(((a+b (F^u)))^p) (((c+d (F^v)))^q),x]dx

Program code:

Int[(e_.+f_.*x_)^m_.*(a_.+b_.*F_^u_)^p_.*(c_.+d_.*F_^v_)^q_.,x_Symbol] :=
  With[{w=ExpandIntegrand[(e+f*x)^m,(a+b*F^u)^p*(c+d*F^v)^q,x]},
  Int[w,x] /;
 SumQ[w]] /;
FreeQ[{F,a,b,c,d,e,f,m},x] && IntegersQ[p,q] && LinearQ[{u,v},x] && RationalQ[Simplify[u/v]]

5.  ∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx

1:  ∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  when  ((g h Log[G]+s t Log[H])/(d e Log[F]))∈ℝ

Derivation: Integration by substitution

Rule: If  k∈ℤ ∧ k((g h Log[G]+s t Log[H])/(d e Log[F]))∈ℤ, then (G^(h(f+g x)))(H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)==((k (G^(f h-((c g h)/d)))(H^(r t-((c s t)/d))))/(d e Log[F]))Subst[(x^(k((g h Log[G]+s t Log[H])/(d e Log[F]))-1))(((a+b (x^k)))^p),x,(F^((e (c+d x))/k))](∂_x)(F^((e (c+d x))/k))

Rule: If  ((g h Log[G]+s t Log[H])/(d e Log[F]))∈ℝ, then

∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  ((k (G^(f h-((c g h)/d)))(H^(r t-((c s t)/d))))/(d e Log[F]))Subst[∫(x^(k((g h Log[G]+s t Log[H])/(d e Log[F]))-1))(((a+b (x^k)))^p)dx,x,(F^((e (c+d x))/k))]

Program code:

Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  With[{m=FullSimplify[(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F])]},
  Denominator[m]*G^(f*h-c*g*h/d)*H^(r*t-c*s*t/d)/(d*e*Log[F])*
    Subst[Int[x^(Numerator[m]-1)*(a+b*x^Denominator[m])^p,x],x,F^(e*(c+d*x)/Denominator[m])] /;
 RationalQ[m]] /;
FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t,p},x]

2.  ∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx  when  ((g h Log[G]+s t Log[H])/(d e Log[F]))∉ℝ

1.  ∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx  when  p∈ℤ

1:  ∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  when  d e p Log[F]+g h Log[G]==0 ∧ p∈ℤ

Derivation: Algebraic simplification

Basis: If  d e p Log[F]+g h Log[G]==0 ∧ p∈ℤ, then (G^(h(f+g x)))==(G^((f-((c g)/d)) h))((((F^(e (c+d x)))))^(-p))

Rule: If  d e p Log[F]+g h Log[G]==0 ∧ p∈ℤ, then

∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx  ⟶  (G^((f-((c g)/d)) h))∫((((F^(e (c+d x)))))^(-p))(H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx  ⟶  (G^((f-((c g)/d)) h))∫(H^(t(r+s x)))(((b+a (F^(-e (c+d x)))))^p)dx

Program code:

Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  G^((f-c*g/d)*h)*Int[H^(t*(r+s*x))*(b+a*F^(-e*(c+d*x)))^p,x] /;
FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t},x] && EqQ[d*e*p*Log[F]+g*h*Log[G],0] && IntegerQ[p]

2:  ∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  when  p∈(SuperPlus[ℤ])

Rule: If  p∈(SuperPlus[ℤ]), then

∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx  ⟶  ∫Expand[(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)]dx

Program code:

Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  Int[Expand[G^(h*(f+g*x))*H^(t*(r+s*x))*(a+b*F^(e*(c+d*x)))^p,x],x] /;
FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t},x] && IGtQ[p,0]

3:  ∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  when  p∈(SuperMinus[ℤ])

Rule: If  p∈(SuperMinus[ℤ]), then

∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  ⟶  (((a^p)(G^(h (f+g x)))(H^(t(r+s x))))/(g h Log[G]+s t Log[H]))Hypergeometric2F1[-p,((g h Log[G]+s t Log[H])/(d e Log[F])),((g h Log[G]+s t Log[H])/(d e Log[F]))+1,-(b/a)(F^(e (c+d x)))]

Program code:

Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
  a^p*G^(h*(f+g*x))*H^(t*(r+s*x))/(g*h*Log[G]+s*t*Log[H])*
    Hypergeometric2F1[-p,(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F]),(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F])+1,Simplify[-b/a*F^(e*(c+d*x))]] /;
FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t},x] && ILtQ[p,0]

2:  ∫(G^(h(f+g x)))(H^(t(r+s x))) (((a+b (F^(e(c+d x)))))^p)dx  when  p∉ℤ

Rule: If  p∉ℤ, then

∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx  ⟶  (((G^(h (f+g x)))(H^(t(r+s x))) (((a+b (F^(e (c+d x)))))^p))/((g h Log[G]+s t Log[H])(((((a+b (F^(e (c+d x))))/a)))^p)))Hypergeometric2F1[-p,((g h Log[G]+s t Log[H])/(d e Log[F])),((g h Log[G]+s t Log[H])/(d e Log[F]))+1,-(b/a)(F^(e (c+d x)))]

Program code:

Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
  G^(h*(f+g*x))*H^(t*(r+s*x))*(a+b*F^(e*(c+d*x)))^p/((g*h*Log[G]+s*t*Log[H])*((a+b*F^(e*(c+d*x)))/a)^p)*
    Hypergeometric2F1[-p,(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F]),(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F])+1,Simplify[-b/a*F^(e*(c+d*x))]] /;
FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t,p},x] && Not[IntegerQ[p]]

3:  ∫(G^(h u)) (H^(t w))(((a+b (F^(e v))))^p)dx  when  u==f+g x ∧ v==c+d x ∧ w==r+s x

Derivation: Algebraic normalization

Rule: If  u==f+g x ∧ v==c+d x ∧ w==r+s x, then

∫(G^(h u)) (H^(t w))(((a+b (F^(e v))))^p)dx  ⟶  ∫(G^(h(f+g x))) (H^(t(r+s x)))(((a+b (F^(e(c+d x)))))^p)dx

Program code:

Int[G_^(h_.u_)*H_^(t_.w_)*(a_+b_.*F_^(e_.*v_))^p_,x_Symbol] :=
  Int[G^(h*ExpandToSum[u,x])*H^(t*ExpandToSum[w,x])*(a+b*F^(e*ExpandToSum[v,x]))^p,x] /;
FreeQ[{F,G,H,a,b,e,h,t,p},x] && LinearQ[{u,v,w},x] && Not[LinearMatchQ[{u,v,w},x]]

6.  ∫u (F^(e(c+d x)))(((a (x^n)+b (F^(e(c+d x)))))^p)dx

1:  ∫(F^(e(c+d x)))(((a (x^n)+b (F^(e(c+d x)))))^p)dx  when  p≠-1

Derivation: Integration by parts

Basis: (F^(e(c+d x)))(((a (x^n)+b (F^(e(c+d x)))))^p)==(∂_x)((((a (x^n)+b (F^(e(c+d x)))))^(p+1))/(b d e (p+1) Log[F]))-((a n (x^(n-1)) (((a (x^n)+b (F^(e(c+d x)))))^p))/(b d e Log[F]))

Rule: If  p≠-1, then

∫(F^(e(c+d x)))(((a (x^n)+b (F^(e(c+d x)))))^p)dx  ⟶  ((((a (x^n)+b (F^(e(c+d x)))))^(p+1))/(b d e (p+1) Log[F]))-((a n)/(b d e Log[F]))∫(x^(n-1))(((a (x^n)+b (F^(e(c+d x)))))^p)dx

Program code:

Int[F_^(e_.*(c_.+d_.*x_))*(a_.*x_^n_.+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  (a*x^n+b*F^(e*(c+d*x)))^(p+1)/(b*d*e*(p+1)*Log[F]) - 
  a*n/(b*d*e*Log[F])*Int[x^(n-1)*(a*x^n+b*F^(e*(c+d*x)))^p,x] /;
FreeQ[{F,a,b,c,d,e,n,p},x] && NeQ[p,-1]

2:  ∫(x^m) (F^(e(c+d x)))(((a (x^n)+b (F^(e(c+d x)))))^p)dx  when  p≠-1

Derivation: Integration by parts

Basis: (x^m) (F^(e(c+d x)))(((a (x^n)+b (F^(e(c+d x)))))^p)==(x^m)(∂_x)((((a (x^n)+b (F^(e(c+d x)))))^(p+1))/(b d e(p+1) Log[F]))-((a n (x^(m+n-1)) (((a (x^n)+b (F^(e(c+d x)))))^p))/(b d e Log[F]))

Rule: If  p≠-1, then

∫(x^m) (F^(c+d x))(((a (x^n)+b (F^(c+d x))))^p)dx  ⟶  
(((x^m) (((a (x^n)+b (F^(e(c+d x)))))^(p+1)))/(b d e(p+1) Log[F]))-((a n)/(b d e Log[F]))∫(x^(m+n-1))(((a (x^n)+b (F^(e(c+d x)))))^p)dx-(m/(b d e(p+1) Log[F]))∫(x^(m-1))(((a (x^n)+b (F^(e(c+d x)))))^(p+1))dx

Program code:

Int[x_^m_.*F_^(e_.*(c_.+d_.*x_))*(a_.*x_^n_.+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
  x^m*(a*x^n+b*F^(e*(c+d*x)))^(p+1)/(b*d*e*(p+1)*Log[F]) - 
  a*n/(b*d*e*Log[F])*Int[x^(m+n-1)*(a*x^n+b*F^(e*(c+d*x)))^p,x] - 
  m/(b*d*e*(p+1)*Log[F])*Int[x^(m-1)*(a*x^n+b*F^(e*(c+d*x)))^(p+1),x] /;
FreeQ[{F,a,b,c,d,e,m,n,p},x] && NeQ[p,-1]

7.  ∫((u (((f+g x))^m))/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  when  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ])

1:  ∫((((f+g x))^m)/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  when  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Basis: If  q=(Sqrt[(b^2)-4a c]), then (1/(a+b z+c (z^2)))==((2c)/(q(b-q+2c z)))-((2c)/(q(b+q+2c z)))

Rule: If  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ]), let q=(Sqrt[(b^2)-4a c]), then

∫((((f+g x))^m)/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  ⟶  ((2c)/q)∫((((f+g x))^m)/(b-q+2c (F^(d+e x))))dx-((2c)/q)∫((((f+g x))^m)/(b+q+2c (F^(d+e x))))dx

Program code:

Int[(f_.+g_.*x_)^m_./(a_.+b_.*F_^u_+c_.*F_^v_),x_Symbol] :=
  With[{q=Rt[b^2-4*a*c,2]},
  2*c/q*Int[(f+g*x)^m/(b-q+2*c*F^u),x] - 2*c/q*Int[(f+g*x)^m/(b+q+2*c*F^u),x]] /;
FreeQ[{F,a,b,c,f,g},x] && EqQ[v,2*u] && LinearQ[u,x] && NeQ[b^2-4*a*c,0] && IGtQ[m,0]

2:  ∫(((((f+g x))^m) (F^(d+e x)))/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  when  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Basis: If  q=(Sqrt[(b^2)-4a c]), then (1/(a+b z+c (z^2)))==((2 c)/(q(b-q+2c z)))-((2 c)/(q(b+q+2c z)))

Rule: If  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ]), let q=(Sqrt[(b^2)-4a c]), then

∫(((((f+g x))^m) (F^(d+e x)))/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  ⟶  ((2c)/q)∫(((((f+g x))^m) (F^(d+e x)))/(b-q+2c (F^(d+e x))))dx-((2c)/q)∫(((((f+g x))^m) (F^(d+e x)))/(b+q+2c (F^(d+e x))))dx

Program code:

Int[(f_.+g_.*x_)^m_.*F_^u_/(a_.+b_.*F_^u_+c_.*F_^v_),x_Symbol] :=
  With[{q=Rt[b^2-4*a*c,2]},
  2*c/q*Int[(f+g*x)^m*F^u/(b-q+2*c*F^u),x] - 2*c/q*Int[(f+g*x)^m*F^u/(b+q+2*c*F^u),x]] /;
FreeQ[{F,a,b,c,f,g},x] && EqQ[v,2*u] && LinearQ[u,x] && NeQ[b^2-4*a*c,0] && IGtQ[m,0]

3:  ∫(((((f+g x))^m) (h+i (F^(d+e x))))/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  when  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Basis: If  q=(Sqrt[(b^2)-4a c]), then ((h+i z)/(a+b z+c (z^2)))==(((2 c h-b i)/q)+i)(1/(b-q+2 c z))-(((2 c h-b i)/q)-i)(1/(b+q+2 c z))

Rule: If  (Sqrt[(b^2)-4a c])≠0 ∧ m∈(SuperPlus[ℤ]), let q=(Sqrt[(b^2)-4a c]), then

∫(((((f+g x))^m) (h+i (F^(d+e x))))/(a+b (F^(d+e x))+c (F^(2(d+e x)))))dx  ⟶  (((2 c h-b i)/q)+i) ∫((((f+g x))^m)/(b-q+2c (F^(d+e x))))dx-(((2 c h-b i)/q)-i) ∫((((f+g x))^m)/(b+q+2c (F^(d+e x))))dx

Program code:

Int[(f_.+g_.*x_)^m_.*(h_+i_.*F_^u_)/(a_.+b_.*F_^u_+c_.*F_^v_),x_Symbol] :=
  With[{q=Rt[b^2-4*a*c,2]},
  (Simplify[(2*c*h-b*i)/q]+i)*Int[(f+g*x)^m/(b-q+2*c*F^u),x] - 
  (Simplify[(2*c*h-b*i)/q]-i)*Int[(f+g*x)^m/(b+q+2*c*F^u),x]] /;
FreeQ[{F,a,b,c,f,g,h,i},x] && EqQ[v,2*u] && LinearQ[u,x] && NeQ[b^2-4*a*c,0] && IGtQ[m,0]

8.  ∫(u/(a+b (F^(d+e x))+c (F^(-(d+e x)))))dx

1:  ∫((x^m)/(a (F^(c+d x))+b (F^(-(c+d*x)))))dx  when  m>0

Derivation: Integration by parts

Rule: If  m>0, then

∫((x^m)/(a (F^(c+d x))+b (F^(-(c+d*x)))))dx  ⟶  (x^m) ∫(1/(a (F^(c+d x))+b (F^(-(c+d*x)))))dx-m∫(x^(m-1)) ∫(1/(a (F^(c+d x))+b (F^(-(c+d*x)))))dxdx

Program code:

Int[x_^m_./(a_.*F_^(c_.+d_.*x_)+b_.*F_^v_),x_Symbol] :=
  With[{u=IntHide[1/(a*F^(c+d*x)+b*F^v),x]},
  x^m*u - m*Int[x^(m-1)*u,x]] /;
FreeQ[{F,a,b,c,d},x] && EqQ[v,-(c+d*x)] && GtQ[m,0]

2:  ∫(u/(a+b (F^(d+e x))+c (F^(-(d+e x)))))dx

Derivation: Algebraic simplification

Basis: (1/(a+b z+(c/z)))==(z/(c+a z+b (z^2)))

Rule:

∫(u/(a+b (F^(d+e x))+c (F^(-(d+e x)))))dx  ⟶  ∫((u (F^(d+e x)))/(c+a (F^(d+e x))+b (F^(2 (d+e x)))))dx

Program code:

Int[u_/(a_+b_.*F_^v_+c_.*F_^w_),x_Symbol] :=
  Int[u*F^v/(c+a*F^v+b*F^(2*v)),x] /;
FreeQ[{F,a,b,c},x] && EqQ[w,-v] && LinearQ[v,x] &&
  If[RationalQ[Coefficient[v,x,1]], GtQ[Coefficient[v,x,1],0], LtQ[LeafCount[v],LeafCount[w]]]

9.  ∫((u (F^(g (((d+e x))^n))))/(a+b x+c (x^2)))dx

1:  ∫((F^(g (((d+e x))^n)))/(a+b x+c (x^2)))dx

Derivation: Algebraic expansion

Rule:

∫((F^(g (((d+e x))^n)))/(a+b x+c (x^2)))dx  ⟶  ∫(F^(g (((d+e x))^n))) ExpandIntegrand[(1/(a+b x+c (x^2))),x]dx

Program code:

Int[F_^(g_.*(d_.+e_.*x_)^n_.)/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
  Int[ExpandIntegrand[F^(g*(d+e*x)^n),1/(a+b*x+c*x^2),x],x] /;
FreeQ[{F,a,b,c,d,e,g,n},x]

Int[F_^(g_.*(d_.+e_.*x_)^n_.)/(a_+c_.*x_^2),x_Symbol] :=
  Int[ExpandIntegrand[F^(g*(d+e*x)^n),1/(a+c*x^2),x],x] /;
FreeQ[{F,a,c,d,e,g,n},x]

2:  ∫(((Subscript[P, x]^m)(F^(g (((d+e x))^n))))/(a+b x+c (x^2)))dx

Derivation: Algebraic expansion

Rule:

∫(((Subscript[P, x]^m)(F^(g (((d+e x))^n))))/(a+b x+c (x^2)))dx  ⟶  ∫(F^(g (((d+e x))^n))) ExpandIntegrand[((Subscript[P, x]^m)/(a+b x+c (x^2))),x]dx

Program code:

Int[u_^m_.*F_^(g_.*(d_.+e_.*x_)^n_.)/(a_.+b_.*x_+c_*x_^2),x_Symbol] :=
  Int[ExpandIntegrand[F^(g*(d+e*x)^n),u^m/(a+b*x+c*x^2),x],x] /;
FreeQ[{F,a,b,c,d,e,g,n},x] && PolynomialQ[u,x] && IntegerQ[m]

Int[u_^m_.*F_^(g_.*(d_.+e_.*x_)^n_.)/(a_+c_*x_^2),x_Symbol] :=
  Int[ExpandIntegrand[F^(g*(d+e*x)^n),u^m/(a+c*x^2),x],x] /;
FreeQ[{F,a,c,d,e,g,n},x] && PolynomialQ[u,x] && IntegerQ[m]

10:  ∫(F^((a+b (x^4))/(x^2)))dx

Derivation: Integration by substitution

Rule:

∫(F^((a+b (x^4))/(x^2)))dx  ⟶  
(((Sqrt[π]) Exp[2 (Sqrt[-a Log[F]]) (Sqrt[-b Log[F]])] Erf[(((Sqrt[-a Log[F]])+(Sqrt[-b Log[F]]) (x^2))/x)])/(4 (Sqrt[-b Log[F]])))-(((Sqrt[π]) Exp[-2 (Sqrt[-a Log[F]]) (Sqrt[-b Log[F]])] Erf[(((Sqrt[-a Log[F]])-(Sqrt[-b Log[F]]) (x^2))/x)])/(4 (Sqrt[-b Log[F]])))

Program code:

Int[F_^((a_.+b_.*x_^4)/x_^2),x_Symbol] :=
  Sqrt[Pi]*Exp[2*Sqrt[-a*Log[F]]*Sqrt[-b*Log[F]]]*Erf[(Sqrt[-a*Log[F]]+Sqrt[-b*Log[F]]*x^2)/x]/
    (4*Sqrt[-b*Log[F]]) -
  Sqrt[Pi]*Exp[-2*Sqrt[-a*Log[F]]*Sqrt[-b*Log[F]]]*Erf[(Sqrt[-a*Log[F]]-Sqrt[-b*Log[F]]*x^2)/x]/
    (4*Sqrt[-b*Log[F]]) /;
FreeQ[{F,a,b},x]

11:  ∫(x^m) ((((e^x)+(x^m)))^n)dx  when  m>0 ∧ n<0 ∧ n≠-1

Derivation: Algebraic expansion

Basis: (x^m) ((((e^x)+(x^m)))^n)==-((e^x)+m (x^(m-1))) ((((e^x)+(x^m)))^n)+ ((((e^x)+(x^m)))^(n+1)) +m (x^(m-1)) ((((e^x)+(x^m)))^n)

Rule: If  m>0 ∧ n<0 ∧ n≠-1, then

∫(x^m) ((((e^x)+(x^m)))^n)dx  ⟶  -(((((e^x)+(x^m)))^(n+1))/(n+1))+∫((((e^x)+(x^m)))^(n+1))dx+m∫(x^(m-1)) ((((e^x)+(x^m)))^n)dx

Program code:

Int[x_^m_.*(E^x_+x_^m_.)^n_,x_Symbol] :=
  -(E^x+x^m)^(n+1)/(n+1) +
  Int[(E^x+x^m)^(n+1),x] +
  m*Int[x^(m-1)*(E^x+x^m)^n,x] /;
RationalQ[m,n] && GtQ[m,0] && LtQ[n,0] && NeQ[n,-1]

12:  ∫u (F^( a (v+b Log[z])))dx

Derivation: Algebraic simplification

Basis: (F^( a (v+b Log[z])))==(F^(a v)) (z^(a b Log[F]))

Rule:

∫u (F^( a (v+b Log[z])))dx  ⟶  ∫u (F^(a v)) (z^(a b Log[F]))dx

Program code:

Int[u_.*F_^(a_.*(v_.+b_.*Log[z_])),x_Symbol] :=
  Int[u*F^(a*v)*z^(a*b*Log[F]),x] /;
FreeQ[{F,a,b},x]

13.  ∫u (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx

1:  ∫(F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx

Derivation: Piecewise constant extraction, algebraic simplification, and integration by substitution

Basis: (∂_x)((d+e x)/(((c (((d+e x))^n)))^(1/n)))==0

Basis: (((c (((d+e x))^n)))^(1/n)) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))==(e^(a f Log[F]+((Log[c (((d+e x))^n)])/n)+b f Log[F] ((Log[c (((d+e x))^n)])^2)))

Basis: ((G[Log[c (((d+e x))^n)]])/(d+e x))==(1/(e n)) Subst[G[x],x,Log[c (((d+e x))^n)]] (∂_x)Log[c (((d+e x))^n)]

Rule:

∫(F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx  ⟶  ((d+e x)/(((c (((d+e x))^n)))^(1/n))) ∫(((((c (((d+e x))^n)))^(1/n)) (F^( f (a+b ((Log[c (((d+e x))^n)])^2)))))/(d+e x))dx

  ⟶  ((d+e x)/(((c (((d+e x))^n)))^(1/n))) ∫((e^(a f Log[F]+((Log[c (((d+e x))^n)])/n)+b f Log[F] ((Log[c (((d+e x))^n)])^2)))/(d+e x))dx

  ⟶  ((d+e x)/(e n (((c (((d+e x))^n)))^(1/n)))) Subst[∫(e^(a f Log[F]+(x/n)+b f Log[F] (x^2)))dx,x,Log[c (((d+e x))^n)]]

Program code:

Int[F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.]^2)),x_Symbol] :=
  (d+e*x)/(e*n*(c*(d+e*x)^n)^(1/n))*Subst[Int[E^(a*f*Log[F]+x/n+b*f*Log[F]*x^2),x],x,Log[c*(d+e*x)^n]] /;
FreeQ[{F,a,b,c,d,e,f,n},x]

2.  ∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx

1:  ∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx  when  e g-d h==0

Derivation: Piecewise constant extraction, algebraic simplification, and integration by substitution

Basis: If  e g-d h==0, then (∂_x)((((g+h x))^(m+1))/(((c (((d+e x))^n)))^((m+1)/n)))==0

Basis: (((c (((d+e x))^n)))^((m+1)/n)) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))==(e^(a f Log[F]+(((m+1) Log[c (((d+e x))^n)])/n)+b f Log[F] ((Log[c (((d+e x))^n)])^2)))

Basis: If  e g-d h==0, then ((G[Log[c (((d+e x))^n)]])/(g+h x))==(1/(h n)) Subst[G[x],x,Log[c (((d+e x))^n)]] (∂_x)Log[c (((d+e x))^n)]

Rule: If  e g-d h==0, then

∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx  ⟶  ((((g+h x))^(m+1))/(((c (((d+e x))^n)))^((m+1)/n))) ∫(((((c (((d+e x))^n)))^((m+1)/n)) (F^( f (a+b ((Log[c (((d+e x))^n)])^2)))))/(g+h x))dx

  ⟶  ((((g+h x))^(m+1))/(((c (((d+e x))^n)))^((m+1)/n))) ∫((e^(a f Log[F]+(((m+1) Log[c (((d+e x))^n)])/n)+b f Log[F] ((Log[c (((d+e x))^n)])^2)))/(g+h x))dx

  ⟶  ((((g+h x))^(m+1))/(h n (((c (((d+e x))^n)))^((m+1)/n)))) Subst[∫(e^(a f Log[F]+(((m+1) x)/n)+b f Log[F] (x^2)))dx,x,Log[c (((d+e x))^n)]]

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.]^2)),x_Symbol] :=
  (g+h*x)^(m+1)/(h*n*(c*(d+e*x)^n)^((m+1)/n))*
    Subst[Int[E^(a*f*Log[F]+((m+1)*x)/n+b*f*Log[F]*x^2),x],x,Log[c*(d+e*x)^n]] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x] && EqQ[e*g-d*h,0]

2:  ∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx  when  m∈(SuperPlus[ℤ])

Derivation: Integration by substitution

Rule: If  m∈(SuperPlus[ℤ]), then

∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx  ⟶  (1/(e^(m+1))) Subst[∫(F^( f (a+b ((Log[c (x^n)])^2)))) ExpandIntegrand[(((e g-d h+h x))^m),x]dx,x,d+e x]

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.]^2)),x_Symbol] :=
  1/e^(m+1)*Subst[Int[ExpandIntegrand[F^(f*(a+b*Log[c*x^n]^2)),(e*g-d*h+h*x)^m,x],x],x,d+e*x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,n},x] && IGtQ[m,0]

U:  ∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx

Rule:

∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx  ⟶  ∫(((g+h x))^m) (F^( f (a+b ((Log[c (((d+e x))^n)])^2))))dx

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.]^2)),x_Symbol] :=
  Unintegrable[(g+h*x)^m*F^(f*(a+b*Log[c*(d+e*x)^n]^2)),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x]

14.  ∫u (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx

1.  ∫(F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx

1:  ∫(F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  when  2 a b f Log[F]∈ℤ

Derivation: Algebraic expansion

Basis: If  2 a b f Log[F]∈ℤ, then (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))==(c^(2 a b f Log[F])) (((d+e x))^(2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))

Rule: If  2 a b f Log[F]∈ℤ, then

∫(F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  ⟶  (c^(2 a b f Log[F])) ∫(((d+e x))^(2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx

Program code:

Int[F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.])^2),x_Symbol] :=
  c^(2*a*b*f*Log[F])*Int[(d+e*x)^(2*a*b*f*n*Log[F])*F^(a^2*f+b^2*f*Log[c*(d+e*x)^n]^2),x] /;
FreeQ[{F,a,b,c,d,e,f,n},x] && IntegerQ[2*a*b*f*Log[F]]

2:  ∫(F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  when  2 a b f Log[F]∉ℤ

Derivation: Algebraic expansion and piecewise constant extraction

Basis: (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))==(((c (((d+e x))^n)))^(2 a b f Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))

Basis: (∂_x)((((c (((d+e x))^n)))^(2 a b f Log[F]))/(((d+e x))^(2 a b f n Log[F])))==0

Rule: If  2 a b f Log[F]∉ℤ, then

∫(F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  ⟶  ∫(((c (((d+e x))^n)))^(2 a b f Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx
  ⟶  ((((c (((d+e x))^n)))^(2 a b f Log[F]))/(((d+e x))^(2 a b f n Log[F]))) ∫(((d+e x))^(2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx

Program code:

Int[F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.])^2),x_Symbol] :=
  (c*(d+e*x)^n)^(2*a*b*f*Log[F])/(d+e*x)^(2*a*b*f*n*Log[F])*
    Int[(d+e*x)^(2*a*b*f*n*Log[F])*F^(a^2*f+b^2*f*Log[c*(d+e*x)^n]^2),x] /;
FreeQ[{F,a,b,c,d,e,f,n},x] && Not[IntegerQ[2*a*b*f*Log[F]]]

2.  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx

1.  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  when  e g-d h==0

1:  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  when  e g-d h==0 ∧ 2 a b f Log[F]∈ℤ ∧ (m∈ℤ ∨ h==e)

Derivation: Algebraic expansion and algebraic simplification

Basis: If  2 a b f Log[F]∈ℤ, then (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))==(c^(2 a b f Log[F]))  (((d+e x))^(2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))

Basis: If  e g-d h==0 ∧ (m∈ℤ ∨ h==e), then (((g+h x))^m) (((d+e x))^z)==((h^m)/(e^m)) (((d+e x))^(m+z))

Rule: If  e g-d h==0 ∧ 2 a b f Log[F]∈ℤ ∧ (m∈ℤ ∨ h==e), then

∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  ⟶  

(c^(2 a b f Log[F])) ∫(((g+h x))^m) (((d+e x))^(2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx  ⟶  

(((h^m) (c^(2 a b f Log[F])))/(e^m)) ∫(((d+e x))^(m+2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.])^2),x_Symbol] :=
  h^m*c^(2*a*b*f*Log[F])/e^m*Int[(d+e*x)^(m+2*a*b*f*n*Log[F])*F^(a^2*f+b^2*f*Log[c*(d+e*x)^n]^2),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x] && EqQ[e*g-d*h,0] && IntegerQ[2*a*b*f*Log[F]] && (IntegerQ[m] || EqQ[h,e])

2:  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  when  e g-d h==0

Derivation: Algebraic expansion and piecewise constant extraction

Basis: (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))==(((c (((d+e x))^n)))^(2 a b f Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))

Basis: If  e g-d h==0, then (∂_x)(((((g+h x))^m) (((c (((d+e x))^n)))^(2 a b f Log[F])))/(((d+e x))^(m+2 a b f n Log[F])))==0

Rule: If  e g-d h==0, then

∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  ⟶  ∫(((g+h x))^m) (((c (((d+e x))^n)))^(2 a b f Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx

  ⟶  (((((g+h x))^m) (((c (((d+e x))^n)))^(2 a b f Log[F])))/(((d+e x))^(m+2 a b f n Log[F]))) ∫(((d+e x))^(m+2 a b f n Log[F])) (F^( (a^2) f+(b^2) f ((Log[c (((d+e x))^n)])^2)))dx

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.])^2),x_Symbol] :=
  (g+h*x)^m*(c*(d+e*x)^n)^(2*a*b*f*Log[F])/(d+e*x)^(m+2*a*b*f*n*Log[F])*
    Int[(d+e*x)^(m+2*a*b*f*n*Log[F])*F^(a^2*f+b^2*f*Log[c*(d+e*x)^n]^2),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x] && EqQ[e*g-d*h,0]

2:  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  when  m∈(SuperPlus[ℤ])

Derivation: Integration by substitution

Rule: If  m∈(SuperPlus[ℤ]), then

∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  ⟶  (1/(e^(m+1))) Subst[∫(F^( f (((a+b Log[c (x^n)]))^2))) ExpandIntegrand[(((e g-d h+h x))^m),x]dx,x,d+e x]

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.])^2),x_Symbol] :=
  1/e^(m+1)*Subst[Int[ExpandIntegrand[F^(f*(a+b*Log[c*x^n])^2),(e*g-d*h+h*x)^m,x],x],x,d+e*x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,n},x] && IGtQ[m,0]

U:  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx

Rule:

∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx  ⟶  ∫(((g+h x))^m) (F^( f (((a+b Log[c (((d+e x))^n)]))^2)))dx

Program code:

Int[(g_.+h_.*x_)^m_.*F_^(f_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_)^n_.])^2),x_Symbol] :=
  Unintegrable[(g+h*x)^m*F^(f*(a+b*Log[c*(d+e*x)^n])^2),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x]

15.  ∫Log[a+b ((((F^(e(c+d x)))))^n)]dx

1:  ∫Log[a+b ((((F^(e(c+d x)))))^n)]dx  when  a>0

Derivation: Integration by substitution

Basis: f[((((F^(e(c+d x)))))^n)]==(1/(d e n  Log[F])) Subst[((f[x])/x),x,((((F^(e(c+d x)))))^n)] (∂_x)((((F^(e(c+d x)))))^n)

Rule:

∫Log[a+b ((((F^(e(c+d x)))))^n)]dx  ⟶  (1/(d e n  Log[F])) Subst[∫((Log[a+b x])/x)dx,x,((((F^(e(c+d x)))))^n)]

Program code:

Int[Log[a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.],x_Symbol] :=
  1/(d*e*n*Log[F])*Subst[Int[Log[a+b*x]/x,x],x,(F^(e*(c+d*x)))^n] /;
FreeQ[{F,a,b,c,d,e,n},x] && GtQ[a,0]

2:  ∫Log[a+b ((((F^(e(c+d x)))))^n)]dx  when  a≯0

Derivation: Integration by parts

Rule: If  a≯0, then

∫Log[a+b ((((F^(e(c+d x)))))^n)]dx  ⟶  x Log[a+b ((((F^(e(c+d x)))))^n)]-b d e n Log[F] ∫((x ((((F^(e (c+d x)))))^n))/(a+b ((((F^(e (c+d x)))))^n)))dx

Program code:

Int[Log[a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.],x_Symbol] :=
  x*Log[a+b*(F^(e*(c+d*x)))^n] - b*d*e*n*Log[F]*Int[x*(F^(e*(c+d*x)))^n/(a+b*(F^(e*(c+d*x)))^n),x] /;
FreeQ[{F,a,b,c,d,e,n},x] && Not[GtQ[a,0]]

16.  ∫u (((a (F^v)))^n)dx

x:  ∫u (((a (F^v)))^n)dx  when  n∈ℤ

Derivation: Algebraic simplification

Basis: If  n∈ℤ, then (((a (F^v)))^n)==(a^n)(F^(n v))

Note: This rule not necessary since Mathematica automatically does this simplification.

Rule: If  n∈ℤ, then

∫u (((a (F^v)))^n)dx  ⟶  (a^n)∫u (F^(n v))dx

Program code:

(* Int[u_.*(a_.*F_^v_)^n_,x_Symbol] :=
  a^n*Int[u*F^(n*v),x] /;
FreeQ[{F,a},x] && IntegerQ[n] *)

2:  ∫u (((a (F^v)))^n)dx  when  n∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((a (F^(v[x]))))^n)/(F^(n v[x])))==0

Rule: If  n∉ℤ, then

∫u (((a (F^v)))^n)dx  ⟶  ((((a (F^v)))^n)/(F^(n v)))∫u (F^(n v))dx

Program code:

Int[u_.*(a_.*F_^v_)^n_,x_Symbol] :=
  (a*F^v)^n/F^(n*v)*Int[u*F^(n*v),x] /;
FreeQ[{F,a,n},x] && Not[IntegerQ[n]]

17:  ∫f[(F^(a+b x))]dx

Derivation: Integration by substitution

Basis: f[(F^(a+b x))]==(1/(b Log[F])) Subst[((f[x])/x),x,(F^(a+b x))] (∂_x)(F^(a+b x))

Basis: (1/(b Log[F]))==((F^(a+b x))/((∂_x)(F^(a+b x))))

Rule:

∫f[(F^(a+b x))]dx  ⟶  ((F^(a+b x))/((∂_x)(F^(a+b x))))Subst[∫((f[x])/x)dx,x,(F^(a+b x))]

Program code:

Int[u_,x_Symbol] :=
  With[{v=FunctionOfExponential[u,x]},
  v/D[v,x]*Subst[Int[FunctionOfExponentialFunction[u,x]/x,x],x,v]] /;
FunctionOfExponentialQ[u,x] && 
  Not[MatchQ[u,w_*(a_.*v_^n_)^m_ /; FreeQ[{a,m,n},x] && IntegerQ[m*n]]] && 
  Not[MatchQ[u,E^(c_.*(a_.+b_.*x))*F_[v_] /; FreeQ[{a,b,c},x] && InverseFunctionQ[F[x]]]]

18.  ∫u(((a (F^v)+b (G^w)))^n)dx

1.  ∫u(((a (F^v)+b (G^w)))^n)dx  when  n∈(SuperMinus[ℤ])

1:  ∫u(((a (F^v)+b (F^w)))^n)dx  when  n∈(SuperMinus[ℤ])

Derivation: Algebraic simplification

Rule: If  n∈(SuperMinus[ℤ]), then

∫u(((a (F^v)+b (F^w)))^n)dx  ⟶  ∫u (F^(n v))(((a+b (F^(w-v))))^n)dx

Program code:

Int[u_.*(a_.*F_^v_+b_.*F_^w_)^n_,x_Symbol] :=
  Int[u*F^(n*v)*(a+b*F^ExpandToSum[w-v,x])^n,x] /;
FreeQ[{F,a,b,n},x] && ILtQ[n,0] && LinearQ[{v,w},x]

2:  ∫u(((a (F^v)+b (G^w)))^n)dx  when  n∈(SuperMinus[ℤ])

Derivation: Algebraic simplification

Rule: If  n∈(SuperMinus[ℤ]), then

∫u(((a (F^v)+b (G^w)))^n)dx  ⟶  ∫u (F^(n v)) (((a+b (E^(Log[G]w-Log[F]v))))^n)dx

Program code:

Int[u_.*(a_.*F_^v_+b_.*G_^w_)^n_,x_Symbol] :=
  Int[u*F^(n*v)*(a+b*E^ExpandToSum[Log[G]*w-Log[F]*v,x])^n,x] /;
FreeQ[{F,G,a,b,n},x] && ILtQ[n,0] && LinearQ[{v,w},x]

2.  ∫u(((a (F^v)+b (G^w)))^n)dx  when  n∉ℤ

1:  ∫u(((a (F^v)+b (F^w)))^n)dx  when  n∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((a (F^(f[x]))+b (F^(g[x]))))^n)/((F^(n f[x])) (((a+b (F^(g[x]-f[x]))))^n)))==0

Rule: If  n∉ℤ, then

∫u(((a (F^v)+b (F^w)))^n)dx  ⟶  ((((a (F^v)+b (F^w)))^n)/((F^(n v)) (((a+b (F^(w-v))))^n)))∫u (F^(n v)) (((a+b (F^(w-v))))^n)dx

Program code:

Int[u_.*(a_.*F_^v_+b_.*F_^w_)^n_,x_Symbol] :=
  (a*F^v+b*F^w)^n/(F^(n*v)*(a+b*F^ExpandToSum[w-v,x])^n)*Int[u*F^(n*v)*(a+b*F^ExpandToSum[w-v,x])^n,x] /;
FreeQ[{F,a,b,n},x] && Not[IntegerQ[n]] && LinearQ[{v,w},x]

2:  ∫u(((a (F^v)+b (G^w)))^n)dx  when  n∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((a (F^(f[x]))+b (G^(g[x]))))^n)/((F^(n f[x])) (((a+b (E^(Log[G]g[x]-Log[F]f[x]))))^n)))==0

Rule: If  n∉ℤ, then

∫u(((a (F^v)+b (G^w)))^n)dx  ⟶  ((((a (F^v)+b (G^w)))^n)/((F^(n v)) (((a+b (E^(Log[G]w-Log[F]v))))^n)))∫u (F^(n v)) (((a+b (E^(Log[G]w-Log[F]v))))^n)dx

Program code:

Int[u_.*(a_.*F_^v_+b_.*G_^w_)^n_,x_Symbol] :=
  (a*F^v+b*G^w)^n/(F^(n*v)*(a+b*E^ExpandToSum[Log[G]*w-Log[F]*v,x])^n)*Int[u*F^(n*v)*(a+b*E^ExpandToSum[Log[G]*w-Log[F]*v,x])^n,x] /;
FreeQ[{F,G,a,b,n},x] && Not[IntegerQ[n]] && LinearQ[{v,w},x]

19:  ∫u (F^v)(G^w)dx

Derivation: Algebraic simplification

Basis: (F^v)(G^w)==(E^(v Log[F]+w Log[G]))

Rule:

∫u (F^v)(G^w)dx  ⟶  ∫u (E^(v Log[F]+w Log[G]))dx

Program code:

Int[u_.*F_^v_*G_^w_,x_Symbol] :=
  With[{z=v*Log[F]+w*Log[G]},
  Int[u*NormalizeIntegrand[E^z,x],x] /;
 BinomialQ[z,x] || PolynomialQ[z,x] && LeQ[Exponent[z,x],2]] /;
FreeQ[{F,G},x]

20:  ∫(F^u)(v+w)y dx  when  (∂_x)((v y)/(Log[F] (∂_x)u))== w y

Basis: (∂_x)((F^(f[x])) g[x])==(F^(f[x]))(Log[F]g[x] f'[x]+g'[x])

Rule: Let z=((v y)/(Log[F] (∂_x)u)), if (∂_x)z==w y, then

∫(F^u)(v+w)ydx  ⟶  (F^(f[x])) z

Program code:

Int[F_^u_*(v_+w_)*y_.,x_Symbol] :=
  With[{z=v*y/(Log[F]*D[u,x])},
  F^u*z /;
 EqQ[D[z,x],w*y]] /;
FreeQ[F,x]

21:  ∫(F^u) (v^n)wdx  when  Log[F]v (∂_x)u+(n+1) (∂_x)vdivides  w

Basis: (∂_x)((F^(f[x])) ((g[x])^(n+1)))==(F^(f[x])) ((g[x])^n) (Log[F]g[x] f'[x]+(n+1) g'[x])

Rule: Let z=Log[F]v (∂_x)u+(n+1) (∂_x)v, if z divides w, then

∫(F^u) (v^n)wdx  ⟶  (w/z) (F^u) (v^(n+1))

Program code:

Int[F_^u_*v_^n_.*w_,x_Symbol] :=
  With[{z=Log[F]*v*D[u,x]+(n+1)*D[v,x]},
  Coefficient[w,x,Exponent[w,x]]/Coefficient[z,x,Exponent[z,x]]*F^u*v^(n+1) /;
 EqQ[Exponent[w,x],Exponent[z,x]] && EqQ[w*Coefficient[z,x,Exponent[z,x]],z*Coefficient[w,x,Exponent[w,x]]]] /;
FreeQ[{F,n},x] && PolynomialQ[u,x] && PolynomialQ[v,x] && PolynomialQ[w,x]

22.  ∫u((((a+b (F^(c((Sqrt[d+e x])/(Sqrt[f+g x]))))))^n)/(A+B x+C (x^2)))dx  when  C d f-A e g==0 ∧ B e g-C (e f+d g)==0

1:  ∫((((a+b (F^(c((Sqrt[d+e x])/(Sqrt[f+g x]))))))^n)/(A+B x+C (x^2)))dx  when  C d f-A e g==0 ∧ B e g-C (e f+d g)==0 ∧ n∈(SuperPlus[ℤ])

Derivation: Integration by substitution

Basis: F[x]==2 (e f-d g) Subst[(x/(((e-g (x^2)))^2)) F[-((d-f (x^2))/(e-g (x^2)))],x,((Sqrt[d+e x])/(Sqrt[f+g x]))] (∂_x)((Sqrt[d+e x])/(Sqrt[f+g x]))

Basis: If  C d f-A e g==0 ∧ B e g-C (e f+d g)==0, then (1/(A+B x+C (x^2)))==((2 e g)/(C (e f-d g))) Subst[(1/x),x,((Sqrt[d+e x])/(Sqrt[f+g x]))] (∂_x)((Sqrt[d+e x])/(Sqrt[f+g x]))

Rule: If  C d f-A e g==0 ∧ B e g-C (e f+d g)==0 ∧ n∈(SuperPlus[ℤ]), then

∫((((a+b (F^(c((Sqrt[d+e x])/(Sqrt[f+g x]))))))^n)/(A+B x+C (x^2)))dx  ⟶  ((2 e g)/(C (e f-d g))) Subst[∫((((a+b (F^(c x))))^n)/x)dx,x,((Sqrt[d+e x])/(Sqrt[f+g x]))]

Program code:

Int[(a_.+b_.*F_^(c_.*Sqrt[d_.+e_.*x_]/Sqrt[f_.+g_.*x_]))^n_./(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
  2*e*g/(C*(e*f-d*g))*Subst[Int[(a+b*F^(c*x))^n/x,x],x,Sqrt[d+e*x]/Sqrt[f+g*x]] /;
FreeQ[{a,b,c,d,e,f,g,A,B,C,F},x] && EqQ[C*d*f-A*e*g,0] && EqQ[B*e*g-C*(e*f+d*g),0] && IGtQ[n,0]

Int[(a_.+b_.*F_^(c_.*Sqrt[d_.+e_.*x_]/Sqrt[f_.+g_.*x_]))^n_./(A_+C_.*x_^2),x_Symbol] :=
  2*e*g/(C*(e*f-d*g))*Subst[Int[(a+b*F^(c*x))^n/x,x],x,Sqrt[d+e*x]/Sqrt[f+g*x]] /;
FreeQ[{a,b,c,d,e,f,g,A,C,F},x] && EqQ[C*d*f-A*e*g,0] && EqQ[e*f+d*g,0] && IGtQ[n,0]

2:  ∫((((a+b (F^(c((Sqrt[d+e x])/(Sqrt[f+g x]))))))^n)/(A+B x+C (x^2)))dx  when  C d f-A e g==0 ∧ B e g-C (e f+d g)==0 ∧ n∉(SuperPlus[ℤ])

Rule: If  C d f-A e g==0 ∧ B e g-C (e f+d g)==0 ∧ n∉(SuperPlus[ℤ]), then

∫((((a+b (F^(c((Sqrt[d+e x])/(Sqrt[f+g x]))))))^n)/(A+B x+C (x^2)))dx  ⟶  ∫((((a+b (F^(c((Sqrt[d+e x])/(Sqrt[f+g x]))))))^n)/(A+B x+C (x^2)))dx

Program code:

Int[(a_.+b_.*F_^(c_.*Sqrt[d_.+e_.*x_]/Sqrt[f_.+g_.*x_]))^n_/(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
  Unintegrable[(a+b*F^(c*Sqrt[d+e*x]/Sqrt[f+g*x]))^n/(A+B*x+C*x^2),x] /;
FreeQ[{a,b,c,d,e,f,g,A,B,C,F,n},x] && EqQ[C*d*f-A*e*g,0] && EqQ[B*e*g-C*(e*f+d*g),0] && Not[IGtQ[n,0]]

Int[(a_.+b_.*F_^(c_.*Sqrt[d_.+e_.*x_]/Sqrt[f_.+g_.*x_]))^n_/(A_+C_.*x_^2),x_Symbol] :=
  Unintegrable[(a+b*F^(c*Sqrt[d+e*x]/Sqrt[f+g*x]))^n/(A+C*x^2),x] /;
FreeQ[{a,b,c,d,e,f,g,A,C,F,n},x] && EqQ[C*d*f-A*e*g,0] && EqQ[e*f+d*g,0] && Not[IGtQ[n,0]]